3年前 (2021-08-11)  相关技术 |   抢沙发  889 
文章评分 0 次,平均分 0.0

Apache Pulsar——下一代消息发布订阅平台
Apache Pulsar是一个开源发布-订阅消息平台,由持久存储(Apache Bookkeeper)支持,具有以下特性:

  • Geo-Replication
  • 多租户
  • 零数据丢失
  • Zero Rebalancing Time
  • 统一排队和流模型
  • 高度可扩展
  • 高通量
  • Pulsar代理
  • 功能

Pulsar文档详细解释了每个特征;这个博客是从Pulsar用户的角度写的,涵盖了在开始使用Pulsar之前需要了解的高层次内容。

术语

  • ApacheZooKeeper-存储有关Pulsar簇的元数据信息。
  • 代理-无状态组件公开REST和本机端点以管理消息传输和存储。
  • Bookie-Bookie是存储消息的Apache BookKeeper的一个实例。这是Pulsar的持久存储。

架构

Apache Pulsar——下一代消息发布订阅平台

当前的消息传递系统采用了将数据处理和数据存储放在同一集群节点或实例上的方法。由于减少了网络上的数据传输,这种设计选择提供了更简单的基础架构和一些可能的性能优势,但代价是可扩展性、弹性和操作。ApachePulsar通过分离服务层和存储层采取了一种云友好的方法。

Pulsar具有分层体系结构,数据由无状态的“代理”节点提供,而数据存储由“bookie”节点处理。此体系结构具有以下优点:

  • 独立的Scales brokers
  • 独立的Scales bookies
  • 将ZooKeeper、broker和bookies容器化。
  • ZooKeeper提供集群的配置和状态。

Apache Pulsar——下一代消息发布订阅平台

以下是上图中最令人兴奋的亮点:

  • 负载均衡器:Pulsar有一个内置的负载均衡器,它在内部将负载分配给所有代理。
  • 服务发现:Pulsar内置了服务发现功能,用于确定在何处以及如何使用单个端点连接到代理。
  • 全局复制器:帮助在为命名空间配置的n个代理之间复制数据。
  • Global ZK:Global ZooKeeper帮助实现Geo-Replication。

Geo-Replication

Geo-Replication是用于提供灾难恢复的典型机制。通常,任何数据库或消息总线解决方案都会在两个数据中心之间复制数据。Pulsar通过以下策略支持多数据中心复制(n-mesh):

  • 异步复制
  • 同步复制

全局集群可以在命名空间级别配置为在任意数量的集群中复制。从下面的示例中可以看出,数据中心C没有消费者,但它的消息仍然可以根据订阅模型在数据中心a或B中消费。

Apache Pulsar——下一代消息发布订阅平台

多租户

在组织内,多租户功能通过提供数据存储的隔离,帮助企业建立单个集群。这一内置功能大大降低了组织的基础架构和运营成本。

Zero Rebalancing Time

Pulsar的分层架构和broker的无状态特性有助于实现零再平衡时间。如果将新代理添加到集群中,它将立即可用于写入和读取,并且不会花费任何时间跨集群重新平衡数据。

从bookies的角度来看,当一个新的bookies被添加到集群中时,由于其底层的分布式日志体系结构和读/写隔离,它立即准备好进行任何写操作。基于段复制配置的数据重新平衡在幕后进行,对集群没有任何影响。

统一排队和流模型

Pulsar在一个模型中支持流式和排队语义。此功能称为订阅模型。消费者使用以下三种订阅模式之一订阅主题:
Apache Pulsar——下一代消息发布订阅平台

不同类型的Pulsar订阅

  • 独占-支持流式语义。在任何给定时间只能有一个消费者。
  • 故障转移-支持流式语义。允许多个使用者连接到一个主题,但在任何给定时间只有一个使用者将接收消息。只有当当前接收消费者出现故障时,其他消费者才会开始接收消息。
  • 共享-支持排队语义。多个使用者可以附加到同一主题,每个使用者将收到一小部分消息

Functions

Functions是可以生活在脉冲星内部或外部的局部化侦听器。从使用本身来看,功能可用于基于内容的路由,这有助于企业应用程序仅接收/所有预期消息。

代理

当部署在云中或Kubernetes中时,需要代理将代理暴露给外部世界。代理本身可以提供身份验证和授权,并且可以在TLS上或不使用TLS的情况下与代理无缝连接。代理具有一个内置功能,可以将授权令牌传递给代理进行命名空间权限验证。

结论

Apache Pulsar是一个功能强大的发布订阅模型,它基于分层体系结构,具有geo-replication、多租户、零重新平衡时间、统一队列和流、基于TLS的身份验证/授权、代理和持久性。如果您使用的是流媒体平台、大数据管道或发布订阅消息总线,那么就值得进一步了解ApachePulsar。

原文地址:https://medium.com/capital-one-tech/apache-pulsar-apaches-newest-pub-sub-messaging-platform-1c1ba1a6c673

 

除特别注明外,本站所有文章均为老K的Java博客原创,转载请注明出处来自https://javakk.com/2215.html

关于

发表评论

表情 格式

暂无评论

登录

忘记密码 ?

切换登录

注册