高手问答第 272 期 —— 腾讯专家工程师带你详解Apache Pulsar 热

消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信进行分布式系统的集成和连接的平台,通过提供消息传递和消息排队模型,它可以在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等功能,其作为分布式系统架构中的一个重要组件,有着举足轻重的地位,是企业级IT架构实施中必不可少的关键核心基础设施。

目前开源界有很多不同类型的消息中间件,常用的有RabbitMQ、RocketMQ、Kafka、ActiveMQ、ZeroMQ等,2018年10月Apache Pulsar正式从Apache孵化项目毕业成为顶级项目,越来越多的用户将Apache Pulsar应用到生产环境中,其中包括许多互联网公司、IoT领域,以及金融行业头部企业等。Apache Pulsar采用存储计算分离的架构给大规模集群运维带来了便利,丰富的企业级特性如跨地域复制等也受到了众多用户的喜爱。

OSCHINA本期高手问答( 12月7日- 12月13日) 我们请来了@OSC_林琳和大家一起探讨关于Apache Pulsar相关的问题。可讨论的问题包括但不限于:

1.传统的消息中间件的局限和挑战

2.Kafka、Pulsar、RabbitMQ常用消息中间件的对比

3.Pulsar的各个功能点,以及各个功能点的实现原理。

4.研究中间件的源码的意义

5.中间件领域,在消息队列、微服务等其他问题

或者其它关于Pulsar、消息中间件相关问题,也欢迎大家积极提问!

嘉宾简介

林琳,腾讯专家工程师Apache Pulsar Committer & PMC,著有《深入理解Apache Dubbo原理与实战》,先后就职于蚂蚁金服、腾讯等公司。开源与中间件爱好者,常年混迹在开源社区,喜欢研究各种中间件的源码与设计思想,专注于中间件领域,在消息队列、微服务等方面有丰富的经验,致力于打造稳定、高效、可扩展的底层基础组件或服务。

高手问答第 272 期 —— 腾讯专家工程师带你详解Apache Pulsar
                                                    热

本期嘉宾林琳是 Apache Pulsar 的践行者和布道者,对于如何学习 Apache Pulsar 颇有心得。希望广大读者在本期问答和阅读中有收获、有成长。

为了鼓励踊跃提问,@博文视点 会在问答结束后从提问者中抽取 5 名幸运会员赠予《深入解析Apache Pulsar》一书。

高手问答第 272 期 —— 腾讯专家工程师带你详解Apache Pulsar
                                                    热

京东购买链接:https://item.jd.com/13507690.html

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就Apache Pulsar关问题向@OSC_林琳提问,请直接回帖提问。

回答

高手问答第 272 期 —— 腾讯专家工程师带你详解Apache Pulsar

@贺小皮蛋 @Morty777 @jasonwu24 @Li_Peng @pyboy58

恭喜以上五位网友分别获得

《深入解析Apache Pulsar》
图书一本
请于12月23日前登陆账号,
私信
@小白兔爱吃大灰狼


告知快递信息(格式:姓名+电话+地址)

老师您好 看了下项目简介 Apache Pulsar 是企业级的发布-订阅消息系统 和现在有的RabbitMq或者RocketMq ,kafka 等有什么明显的优势或者适用场景吗

Pulsar更加适合云原生环境,也有更多的业务能力的支持,如:延迟消息、死信队列,现在甚至还支持Tag消息。更多的优势,可以查看我新书的第一章。

@OSC_林琳

老师好 几个问题咨询一下

  • kafka与pulsar都有各自的特性,相对而言Kafka的服务商/使用案例/ 社区活跃程度,都显著的比Pulsar高,并且听说Kafka 团队正在开发分层存储 ,请问您觉得什么样的项目更适合pulsar呢
  • 能简单讲讲pulsar存储计算分离的实现吗以及单点故障后如何保证消息不丢失的
  • zookeeper是kafka的可扩展性瓶颈因此kafka现在删除了zookeeper ,请问对于Pulsar而言也是如此吗?

Pulsar有在做去zookeeper的进度,完成后会支持etcd,默认依然是zk。更久的未来可能会内置实现元数据中心。

@OSC_林琳 ,你好,最近刚把一个老项目从openmq,新增了rabbitmq依赖。

在这个过程中遇到一些问题不知道Pulsar能否支持

1. pulsar的租户隔离做的如何?更像rabbitmq还是更像kafka的?

2. pulsar如何解决消息堆积问题?是否支持rabbitmq shovel插件的效果?

3.pulsar对LDAP的支持怎么样?目前使用rabbitmq ldap插件在管理账号

4.pulsar的queue是真实存在的概念还是和kafka一样是靠offset模拟出来的?

5.大致了解了下pulsar是要替代kafka,而kafka和rabbitmq在使用场景上还是有一些区别,pulsar是否支持延迟队列,事务消息,消息动态路由呢?这都是实际需要的场景

感谢!

5. 支持延迟队列,事务消息 动态路由指的是正则匹配订阅的话也支持

@林琳 Kafka比Apache Pulsar有什么优缺点??

有文章的 搜索一下

@林琳 , 老师好,请问pulsar和kafka分别更适用于那些业务场景呢?谢谢

这个问题前面有网友提出了,请见之前的回答。

老师好,请问pulsar和kafka各自的优缺点怎样?相对来说如何在实际项目中确定比较适合用哪个?

老师好:容器化部署Pulsar的时候,对于存储有什么要求吗?

Broker可以完全容器化。存储层跑虚拟机问题也不大。

您好,看过Pulsar的设计,感觉很多细节确实比Kafka更优秀一些。如果使用KoP(即 Kafka-on-Pulsar)的话,是否可以平滑的将Kafka替换为Pulsar呢?另外,将现有Kafka集群的数据迁移/同步到Pulsar有什么合适方案推荐呢?

可以平滑迁移。数据从Kafka迁移到Pulsar的话,现在有对应的Connector

您好,请问现在消息队列用哪个好?

看场景