Как стать автором
Обновить

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

Использую Kafka много лет, а про Pulsar услышал в первый раз. Но после такой рекламы надо будет посмотреть.

Пользуюсь пульсаром. Не могу назвать себя экспертом, но я вижу в нем потенциал. Пользоваться им определенно удобнее. Не нужно думать о том, что произойдет на клиентах, если им нужна перебалансировка. У пульсара просто нет такой проблемы, он делает ребалансировку данных за кадром если какая-то нода падает. Ребалансировку при добавлении или удалении консюмера делать вообще не нужно. У кажфи для этого есть целый стриминг, чтобы на нужных нодах оказывались нужные данные при ребалансировке. По этой причине, стриминг пульсару не так нужен как кафке. В качестве бонуса, любые стримы основанные на reactive streams могут легко интерироваться с пульсароам, но не с кафкой, т.к. у стримов кафки много специфичных операций. Кроме этого, у кафики пока еще есть stop the world при ребалансировке. А вот консюмеры пульсара просто не замечают упавших нод.


Я когда первый раз узнал про пульсар, начал читать его сравнение с кафкой от разработчиков кафики, и, конечно, он был в пользу кафки. Но если разобраться в деталях и пройтись по всем пунктам, окажется, что пульсар очень даже интересный инструмент. У кластера более сложная структура, но это дает ему ряд преимуществ. Я пока сам не сел и не разобрался по каждому пункту, не мог вообще понять зачем собственно этот пульсар нужен, если есть кафка.

Вот это да. Подход кафки совсем себя не оправдывает. Все клиенты, которые не используют librdkafka, ведут себя абсолютно по-разному. Все поддерживают разные KIP. Ребалансировка всегда приключение, потому что не знаешь, как какая библиотека себя поведет. Как она передеживет просто подключение клиента, как переживет падение брокера, как обработает добавку партиций на горячую и т.д.

Кроме этого, у кафики пока еще есть stop the world при ребалансировке

В одном из KIP кстати добавили нормальную ребалансировку, но это еще надо найти клиент, который ее поддерживает. Мы используем sarama и там этого нет.

Как сторонний наблюдатель, для меня "Для репликации данных в реальном времени… много разных инструментов" (далее 6 разных вариантов) не реклама Кафки, а большое предостережение. Я бы задумался что заставило Убер, ЛинкедИн и Сейслфорз тратить свое время на создание велосипедов, почему не воспользовались существующими? Что так кардинально плохо в официальных решениях, что вместо использования открытости и исправления существующих решений, все они делают полностью своё?

Ответ эту статью от разработчиков Apache Pulsar (явно вроде не ссылаются, но по датам очень похоже):
streamnative.io/en/blog/tech/2020-07-08-pulsar-vs-kafka-part-1
streamnative.io/en/blog/tech/2020-07-22-pulsar-vs-kafka-part-2
streamnative.io/en/blog/tech/2020-11-09-benchmark-pulsar-kafka-performance-report#conclusions

В 2019 компанию, поддерживающую Pulsar (а-ля confluent для Kafka) выкупил Splunk. Вот статья их инженера: www.splunk.com/en_us/blog/it/life-beyond-kafka-with-apache-pulsar.html

Pulsar входит в стэк datastax, вот их маркетинговая статья:
www.datastax.com/blog/2021/01/four-reasons-why-apache-pulsar-essential-modern-data-stack

Опыт использования Pulsar отрицательный.


  • Отвратительный клиент под Node js. Проблема в том, что клиент зависит от СИшной либы, а из нее сыпались ошибки в рантайме.
  • Очень слабое коммьюнити, полторы калеки на StackOverflow и т.д. В случае чего вам придется залазить в исходники. Кол-во вспомогательных инструментов в сравнении с другими брокерами равно нулю.
  • Для синхронных языков типа Python придется читать из топика через while(true) {}, что мягко говоря не очень удобно(1 топик — 1 скрипт). Да, это можно обойти через слушания топиков по маске, а потом парсить регуляркой название и заниматься роутингом сообщения. Но, блин, это не очень удобно
  • Отсутствие нормальной web морды как в RabbitMQ/Kafka
Kafka движется в противоположном направлении — скоро ZooKeeper будет удален (см. KIP-500), так что останется всего одна распределенная система, которую нужно деплоить, обслуживать, масштабировать и мониторить

Неправда. Этот KIP заменяет одну распределенную систему (zookeeper) на другую (кворум контроллеров). По факту, ничего не изменится. А скорее всего будет хуже. Тут же мало того, что смена архитектуры, так еще речь о кворумной системе. Сколько ее будут отлаживать неизвестно.
На конференциях по Kafka очень любят упоминать кейс Нью-Йорк Таймс, но не упоминают что у них всего ~100 GB данных.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.