Apache Pulsar之什么是Apache Pulsar?( 二 )


分区由来处理,集群中每个节点都有自己的,下图展示了如何分区:

Apache Pulsar之什么是Apache Pulsar?

文章插图
是如何分区的
虽然应用程序可以在不更改代码的情况下利用分区,但是有一些额外的方法可以帮助您实现跨分区和跨可用消费者更好地分布数据 。允许选择路由策略,从而控制消息如何路由到特定的分区 。有四个基本路由策略:
数据完整性保证(简述)
一旦接收并确认它从某个主题的生产者那里接收到的数据,它需要确保这些数据在任何情况下都不会丢失 。与其他几个消息传递系统不同,使用 实现持久性,它提供低延迟的持久存储 。接收到消息时,它将消息数据发送到多个节点(节点数量取决于 ) 。这些节点将数据预写日志,并将副本写入内存 。在节点发出确认之前,日志被强制写入稳定存储 。通过强制将日志写入存储器,即使在断电的情况下也可以保留数据 。由于向多个节点写入数据,因此只有当数据成功写入write 时,它才向生产者发送确认 。因此,即使存在硬件故障、网络分区和其他故障状态,也能够确保零数据丢失 。
在生产环境的应用总结
在这篇博文中,我们简单介绍了 (孵化)背后的概念,并展示了是如何通过在向消费者发送确认之前提交数据、通过分区数据实现高吞吐量等等实现持久性的 。