- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Apache Pulsar 在涂鸦智能的实践
展开查看详情
1 .Apache Pulsar 在涂鸦智能的实践 开放平台组研发⼯程师 张永红
2 . Contents 01 关于涂鸦智能 02 涂鸦的消息系统架构 03 邂逅Apache Pulsar 04 消息队列的对⽐ 05 pulsar实践分享 06 对pulsar的规划和期望
3 .01 关于涂鸦
4 .关于涂鸦
5 .关于涂鸦
6 .关于涂鸦
7 . 02 涂鸦的消息系统架构
8 .涂鸦的消息系统架构
9 .涂鸦的消息系统架构
10 .涂鸦的消息系统架构 业务痛点: 1. HTTP投递⽅式不够灵活 2. Kafka的topic数量与⽇俱增 3. 租户之间相互影响
11 . 03 邂逅Apache Pulsar
12 .涂鸦的消息系统架构 Pulsar: 1. 丰富的投递/订阅策略 2. 运维难度⼩ 3. 多租户隔离 4. 社区活跃
13 .邂逅Apache Pulsar
14 . 04 消息队列的对⽐
15 .消息队列的对⽐ LeviMQ Kafka NSQ Pulsar 稳定性 ⾼ ⾼ ⾼ ⾼ 缩/扩容 ⾼ 中 中 ⾼ 运维 ⾼ 低 ⾼ ⾼ ⽣态 低 ⾼ 中 ⾼ 性能 ⾼ ⾼ ⾼ ⾼ 注:测评等级分为低,中,⾼
16 .消息队列的对⽐ LeviMQ 优点: 1. 计算与存储分离,⾼可靠性,易扩展 2. 公司⾃研,易于维护 缺点: 1. 基于MQTT,功能简单,更多的是充当⽹关使⽤。 2. ⽣态相对不够丰富
17 .消息队列的对⽐ Kafka 优点: 1. 性能优秀,⾼吞吐量,⾼可靠性 2. ⽣态丰富,案例较多 缺点: 1. 缩/扩容操作相对复杂且耗时 2. 应⽤部署会导致订阅组rebalance,期间会消息堆积
18 .消息队列的对⽐ NSQ 优点: 1. golang编写,性能优秀,⾼吞吐量,⾼可靠性 2. 没有Kafka消费组rebalance的问题 缺点: 1. 与社区版本的NSQ设计差别较⼤,相关资料较少 2. ⽬前在缩/扩容⽅⾯存在耗时问题
19 .消息队列的对⽐ Pulsar 优点: 1. 计算与存储分离,降低缩/扩容带来的影响 2. ⽀持多种订阅模式,适⽤场景丰富 3. namespace级别的租户隔离策略 缺点: 1. 引⼊bookkeeper及相关概念,有⼀定的学习成本 2. 相⽐于Kafka,⽹上资料较少
20 . 05 pulsar实践分享
21 .Apache Pulsar 实践分享 实践1:服务运⾏⼀段时间后,消息出现堆积! 没有发现报错⽇志。重启服务后,消息恢复正常。 然⽽过了⼀段时间,⼜出现堆积现象!
22 .Apache Pulsar 实践分享 堆积原因:flow计数机制
23 .Apache Pulsar 实践分享 解决⽅案:定时发送Flow指令
24 . Apache Pulsar 实践分享 实践2: pulsar-client-java发送的消息, pulsar-client-go解析紊乱
25 .Apache Pulsar 实践分享
26 .Apache Pulsar 实践分享
27 .Apache Pulsar 实践分享 紊乱原因:payload内还有⼀层结构
28 .Apache Pulsar 实践分享 实践3: 消息重复消费!
29 . Apache Pulsar 实践分享 消息重复消费原因: failover模式下,某个topic下新加⼊的消费者有⼏率会成为active状态 此时旧的消费者可能还有⼀部分消息还未消费完。 如果没做相应处理,部分消息就被新旧消费者同时消费