🙏Kafka #1: Верхнеуровненвый осмотр и сравнение с RMQ
Как я раньше и говорил, по производственной необходимости нужно изучать Кафку (с мафлом, да-да!). Пролью свет на нее в цикле постов. Цикл будет на основе видео, которое я показывал в этом посте. (Поэтому, в случае претензий, мопед не мой – я только объяву разместил.)
🍆 Сегодня просто посмотрим на пояснительный дикпик 👆 и разберемся, из каких основных компонентов состоит кафкианский мессаджинг.
Cluster – ну тут все просто – это набор кафок. То есть, если вы хотите масштабироваться горизонтально, то кластер – это то, что вы будете расширять добавляя туда побольше кафок.
Broker – это собственно инстанс кафки, который занимается полезной работой. Их может быть много, и они в себе содержат топики.
Topic – это собственно то, что хранит в себе пересылаемые данные. То есть, когда сообщение попадет к брокеру, то он положит его в нужный топик.
Producer – это тот кто пишет в топики.
Consumer Group – это группа консьюмеров которые читают из топика. Тут есть нюанс, что каждый консьюмер в группе будет читать из своей партиции, но об этом позже. И это, кстати, тоже охренеть какое отличие! (Спасибо Юре Пастушенко 🥰 за исправление. Будьте как Юра – пишите мне, если видите, что я спорол хуйню!)
🐇 Так как я много работал с RabbitMQ, не могу не отметить, что верхнеуровнево все выглядит один к одному! Но есть значительные различия в том, как кафка работает с топиками. Это довольно сильно отличается от кролика и вот чем:
1️⃣В кафкианском мире консьюмер поллит брокера, чтобы забрать данные из топика. В отличие от кролика, где брокер пушит сообщения сам. Конечно в кролике тоже можно было перевести консьюмера в режим поллинга, но это не православный подход считается.
2️⃣Сама работа топиков сильно отличается от очередей (тут важная эмоциональная ремарка: да просто охуеть как сильно отличается. Это настолько разные штуки, что я бы их даже не сравнивал!). Так как в очереди сообщение живет до тех пор, пока его разок не прочтут, после чего удаляется (я намеренно опустил детали если что). В Кафке append-only подход. Поэтому хранение там организовано иначе. Там тоже сообщения удаляются, но по истечении времени, да и то если вы сами хотите. Об этом подробнее в следующем посте.
Такие вот верхнеуровненвые кафкианские пироги. Stay Tuned, как говорится.
#kafka
Post #94
66
- 🔥 2