Публикация и производство в MassTransit с помощью Kafka

#apache-kafka #masstransit

#apache-kafka #masstransit

Вопрос:

Я хочу реализовать конечный автомат, интегрированный с темами Kafka. Всякий раз, когда какое-либо сообщение будет отправлено в тему, я хочу, чтобы конечный автомат реагировал, изменяя состояние. У меня есть два вопроса:

  1. Является ли создание сообщения по теме идентичным публикации события?
  2. Как правильно подключить вещи? Приветствовался бы какой-нибудь простой пример кода.

Ответ №1:

Produce это не то же Publish самое, что . Вы можете использовать Produce для отправки сообщений в раздел в Kafka с конечного автомата:

 Initially(
    When(Started)
        .Produce(x => x.Init<KafkaMessage>(new {Text = "text"}))
        .TransitionTo(Active));
 

Существуют модульные тесты, которые показывают, как это работает, я не верю, что это еще не задокументировано. Это было добавлено в этом коммите

Комментарии:

1. К вашему сведению, обновлено, чтобы включить синтаксис, который я объединил пару недель назад и забыл!