Что определяет рамки темы кафки - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь использовать Kafka для существующей системы, чтобы заменить старый протокол сообщений. В настоящее время у нас есть несколько типов сообщений (сотни), используемых для связи между ~ 40 приложениями. Некоторые из них являются асинхронными с высокой скоростью, а некоторые основаны на запросе пользователя / события.

Теперь, глядя на Кафку, он разбивает темы и разделы и т.д. c. Но я немного сбит с толку относительно того, что составляет топи c. Получает ли каждый тип сообщений, создаваемых моими приложениями, свои собственные топики c, допускающие сотни тем, или я объединяю их вместе для связанных типов сообщений? Если второй ответ, является ли плохой практикой для приложения читать сообщение и отбрасывать его, когда его содержимое не соответствует тому, что оно ищет?

Я также сталкиваюсь с дилеммой, когда будет более 10 копий одного приложения (дисплея), каждое из которых получает очень большой объем данных (в виде своего рода легкого видеопотока) и будет отправлять пользовательские команды на каждом конкретном узле. Будет ли Кафка достаточной формой общения для этого? Предполагая, что максимум 10, но иногда эти конкретные приложения могут не иметь желания постоянно получать видеопоток.

Третий и последний вопрос: я немного читал о способности воспроизведения сообщений. Это только в пределах одной топи c, или может ли способность воспроизведения go охватывать множество разных тем?

1 Ответ

0 голосов
/ 17 марта 2020

Самому Кафке нет дела до «типов» сообщений. Единственный тип, о котором он знает, это байты, что означает, что вы полностью гибки в том, как вы будете сериализовать свои наборы данных. Однако обратите внимание, что максимальный размер сообщения по умолчанию составляет всего 1 МБ, поэтому «потоковое видео / изображения / мультимедиа», возможно, является неправильным вариантом использования только для Kafka. Такой протокол, как RTMP, вероятно, имеет больше смысла

Группы потребителей Kafka масштабируются горизонтально, а не в ответ на нагрузку. Потребители опрашивают данные со скоростью, с которой они могут обрабатывать данные. Если им не нужны данные, их можно остановить, если им нужно повторно обработать данные, их можно искать независимо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...