Я пытаюсь использовать Kafka для существующей системы, чтобы заменить старый протокол сообщений. В настоящее время у нас есть несколько типов сообщений (сотни), используемых для связи между ~ 40 приложениями. Некоторые из них являются асинхронными с высокой скоростью, а некоторые основаны на запросе пользователя / события.
Теперь, глядя на Кафку, он разбивает темы и разделы и т.д. c. Но я немного сбит с толку относительно того, что составляет топи c. Получает ли каждый тип сообщений, создаваемых моими приложениями, свои собственные топики c, допускающие сотни тем, или я объединяю их вместе для связанных типов сообщений? Если второй ответ, является ли плохой практикой для приложения читать сообщение и отбрасывать его, когда его содержимое не соответствует тому, что оно ищет?
Я также сталкиваюсь с дилеммой, когда будет более 10 копий одного приложения (дисплея), каждое из которых получает очень большой объем данных (в виде своего рода легкого видеопотока) и будет отправлять пользовательские команды на каждом конкретном узле. Будет ли Кафка достаточной формой общения для этого? Предполагая, что максимум 10, но иногда эти конкретные приложения могут не иметь желания постоянно получать видеопоток.
Третий и последний вопрос: я немного читал о способности воспроизведения сообщений. Это только в пределах одной топи c, или может ли способность воспроизведения go охватывать множество разных тем?