云原生消息流平台的老玩家们应该对 Apache Pulsar 不陌生。2.6.0 这个版本上新了不少实用特性,比如多租户支持、跨区域复制、还有函数式计算,听着高大上,其实用起来还挺接地气的。对分布式系统、数据流有需求的项目,用起来会省不少事儿。
消息、存储、计算三合一的设计,挺适合现在这种微服务架构场景。尤其存算分离这块,对资源弹性伸缩友好,像突发大流量那种,效果还不错。还有个好处是,不容易出问题,出事儿排查起来也方便。
多机房部署和持久化能力也比较成熟,业务对强一致性要求高的,用 Pulsar 挺合适。消息丢不丢?基本不丢。延迟大不大?低延迟的表现比 Kafka 还猛一点。多租户机制也帮你把权限、安全隔离啥的到位了,省心。
要是你之前用过 Kafka,建议也看看这篇Kafka:分布式发布-订阅消息系统,对比一下设计思路。Pulsar 的事务机制也值得研究下,推荐读下这篇Pulsar 事务消息流设计,对理解 Pulsar 的消息流逻辑挺有。
还有个隐藏彩蛋是,它的函数式计算部分,适合做点轻量的实时,不用另起服务,写个function
就能跑。用好了,比单独起个 Spark 任务轻便多了。配合Spark 分布式计算框架的思路一起看,理解会更深。
,如果你手上项目数据量大、消息要求高、而且想少折腾资源调度,可以试试 Pulsar 2.6.0。刚上手建议多看点分布式存储的资料,比如HDFS和HBase,思路更清晰。