Apache Pulsar是一个开源的分布式pub-sub消息传递系统,最初由Yahoo创建,并且是Apache Software Foundation的一部分 。
Pulsar是用于服务器到服务器消息传递的多租户高性能解决方案。
脉冲星的主要功能包括[4]:
- 对Pulsar实例中的多个集群的本地支持,跨集群的消息无缝地域复制
- 极低的发布和端到端延迟
- 无缝扩展可扩展到超过一百万个主题
- 一个带有Java , Python和C ++绑定的简单客户端API
- 主题的多种订阅模式 ( 独占 , 共享和故障转移 )
- 由Apache BookKeeper提供的持久性消息存储保证了消息的传递
架构概述
在最高级别,一个Pulsar实例由一个或多个Pulsar簇组成。 一个实例中的集群可以在它们之间复制数据[4]。
下图提供了一个脉冲星团的图示:
与Apache Kafka的Pulsar比较
下表列出了Apache Pulsar和Apache Kafka [5]之间的异同:
卡夫卡 | 脉冲星 | |
---|---|---|
概念 | 生产者主题消费者组消费者 | 生产者主题订阅消费者 |
消费 | 更侧重于流,分区上的独占消息传递。 没有共享的消费。 | 统一消息传递模型和API。
|
king | 简单的胶印管理
| 统一消息传递模型和API。
|
保留 | 邮件将根据保留时间被删除。 如果使用者在保留期之前没有阅读邮件,它将丢失数据。 | 仅在所有订阅使用完邮件后,邮件才会被删除。 即使订阅的使用者长时间停机也不会造成数据丢失。 即使所有订阅都使用了邮件,邮件也可以保留配置的保留期限。 |
TTL | 不支持TTL | 支持消息TTL |
结论
Apache Pulsar是由Apache Incubator PMC赞助的Apache Software Foundation(ASF) [3]进行孵化的一项工作。 由于其独特的功能,它似乎可以替代Apache Kafka。
资源:
[1] https://pulsar.apache.org/ [2] https://developer.yahoo.com/open-source/ [3] https://apache.org / [4] https:// pulsar。 apache.org/docs/latest/getting-started/ConceptsAndArchitecture/ [5] https://streaml.io/blog/pulsar-streaming-queuing/
翻译自: https://www.javacodegeeks.com/2017/12/apache-pulsar-distributed-pub-sub-messaging-system.html