Yahoo разработала систему сообщений Pulsar, pub-sub и сделала ее открытым исходным кодом. Его теперь инкубационный проект Apache. Поскольку Кафка также используется для этой цели. Хотите знать, основные плюс и минус точки Кафки над Пульсаром.
Ответ 5
источник
Pulsar, новейший проект Apache Software Foundations для получения статуса верхнего уровня, проводит много сравнений с Kafka, другим проектом ASF.
Pulsar - это масштабируемая платформа для обмена сообщениями с низкой задержкой, работающая на обычном оборудовании. Он обеспечивает простую семантику pub-sub и очереди по темам, облегченную вычислительную среду, автоматическое управление курсорами для подписчиков и репликацию между центрами обработки данных.
Между тем, в отчете Apache Kafka за 2018 год, в котором было опрошено более 600 пользователей, были обнаружены конвейеры данных и обмен сообщениями в двух основных областях применения этой технологии. Это нашло все большее применение с ростом архитектуры микросервисов.
"Варианты использования двух систем во многом совпадают, но первоначальный дизайн сильно отличался", - сказал Маттео Мерли, один из его создателей, которые с тех пор создали Streamlio, стартап, предлагающий платформу для быстрой передачи данных.
Yahoo создала Pulsar как единую мультитенантную систему в качестве решения своих проблем с несколькими системами обмена сообщениями и несколькими группами, развертывающими их.
Он был выпущен как открытый исходный код в 2016 году и поступил в инкубатор ASF в июне 2017 года. В течение примерно четырех лет он использовался в приложениях Yahoo Mail, Finance, Sports, Gemini Ads и Sherpa, Yahoos.
В своем блоге соучредитель Сиджи Го подвел итог "Пульсар против Кафки" следующим образом:
"Apache Pulsar объединяет высокопроизводительную потоковую передачу (которую преследует Apache Kafka) и гибкую традиционную организацию очередей (которую преследует RabbitMQ) в единую модель обмена сообщениями и API. Pulsar предоставляет вам одну систему для потоковой передачи и организации очередей, с одинаковой высокой производительностью, используя унифицированный API. "
Мерли сказал: "Существуют различия между потоковой передачей и очередями; существует много вариантов использования, когда вам нужен один или другой, но большинству людей нужны оба варианта для разных вариантов использования".
Двухслойная архитектура Двухслойная конструкция - ключ к Pulsar, сказал Мерли. Имеется уровень посредников без сохранения состояния, которые получают и доставляют сообщения, а также уровень постоянного хранения с набором узлов хранения Apache BookKeeper, называемых букмекерами, которые обеспечивают долговременное хранение с низкой задержкой.
По словам Мерли, Pulsar был основан на идее надежных гарантий данных. Он был рассчитан на совместное потребление, а Кафки не было. Кроме того, Pulsar позволяет пользователям настраивать срок хранения сообщений даже после их использования всеми подписками.
Его многоуровневая архитектура и сегментно-ориентированное хранилище обеспечивают ключевые преимущества:
Вы можете масштабировать брокеров или уровень хранилища независимо друг от друга. Поскольку брокеры не имеют статуса, тему можно быстро перенести на других брокеров. Это открывает эффективный способ сбалансировать трафик между брокерами. Может иметь несколько потребителей в одном разделе, и вы можете добавить столько, сколько хотите. Поскольку никакие данные не хранятся локально, это устраняет необходимость копировать данные раздела при расширении емкости и не требует повторной балансировки. Когда создается разделенная тема, Pulsar автоматически разбивает данные независимо от потребителей и производителей.
Посредник отправляет данные сообщения нескольким узлам BookKeeper, которые записывают данные в журнал опережающей записи, а также сохраняют копию в памяти. Перед тем как узел отправит подтверждение, журнал принудительно записывается в стабильное хранилище, что обеспечивает сохранение даже в случае потери питания. Тематические разделы могут масштабироваться до общей емкости всего кластера BookKeeper, и вы можете масштабировать кластер, просто добавляя узлы.
С момента входа в инкубатор основной упор был сделан на то, чтобы облегчить начало работы с Pulsar.
В июне была выпущена версия 2.0 Pulsar, включающая в себя "потоковую" обработку, называемую Pulsar Functions, которая позволяет пользователям писать функции обработки данных на Java или Python для данных при их перемещении по конвейеру. Версия 2.2 будет выпущена в ближайшее время, которая будет включать интерактивные SQL-запросы.
Pulsar предоставляет несколько привязок к языку и протоколу, включая Java, C++, Python и WebSockets, а также API-интерфейс, совместимый с Kafka.
Дополнительная информация: Apache Pulsar: это KAFKA Killer?
Apache Pulsar: это убийца КАФКА? Автор Бхагван с. Сони
ПОЧЕМУ мы должны выбрать Apache Pulsar вместо Kafka?
Apache Pulsar - это корпоративная версия PubSub, изначально разработанная Yahoo и в настоящее время поддерживаемая Apache Software Foundation. Apache Pulsar работает на производственных системах за последние 3 года и доказал свою стабильность.
Apache Pulsar охватывает почти все функции, которые предлагает нам Kafka, возможно, с разными именами. Пульсар имеет много особенностей, но я хотел бы выделить некоторые из них, которые помогут нам отличиться от Кафки -
1} Apache Pulsar предоставляет вам 3 типа подписки на тему: A} Эксклюзивно - только один потребитель будет использовать данные из темы B} Shared - несколько потребителей будут использовать данные из темы C} Аварийное переключение - более одного потребителя, но в данный момент времени только один будет потреблять данные.
2} Каждое пространство имен может иметь одну или несколько тем
3} Сильная поддержка Multitanency
4} Репликация данных через несколько кластеров
5} Сильная поддержка долговечности сообщений от потери данных