- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Apache Pulsar在智联的实践 2
展开查看详情
1 .Apache Pulsar 在智联的实践 从消息队列列到基于Pulsar的Event Center 演讲者 / 李李鹏辉
2 .⾃自我介绍 李李鹏辉 智联招聘 产品研发中⼼心-平台组 消息服务、事件中⼼心
3 .什什么是 Event Center Event Center 的价值 从消息队列列 到 Event Center
4 .Event Center初衷 产品 A 团队 A Event A Event B 产品 B 团队 B Event C Event … 产品 … 团队 … Event Center
5 .Event 定义 platform/passport/user.login platform/passport/user.register { { { userName:”userA”, userName:”userA”, userName:”userA”, deviceType:”IPHONE”, mobile:”18888888888”, deviceType:”IPHONE”, loginRegion:”Beijing”, location:”Beijing”, loginRegion:”Beijing” loginTime:”2018-10-10 13:00:00” registerTime:”018-10-10 13:00:00” … … }… } } 我们要像定义⼀一个接⼝口⼀一样去定义⼀一个事件
6 .Event 定义变化(1) platform/passport/user.login platform/passport/user.login { { { { userName:”userA”, userName:”userA”, userName:”userA”, userName:”userA”, deviceType:”IPHONE”, deviceType:”IPHONE”, deviceType:”IPHONE”, deviceType:”IPHONE”, loginRegion:”Beijing” loginRegion:”Beijing” loginRegion:”Beijing”, loginRegion:”Beijing” …… loginTime:”2018-10-10 … 13:00:00” } } }… }
7 .Event 定义变化(2) platform/passport/user.login platform/passport/user.login.v2 { { { userName:”userA”, userName:”userA”, { userName:”userA”, deviceType:”IPHONE”, deviceType:”IPHONE”, userName:”userA”, deviceType:”IPHONE”, loginRegion:”Beijing” loginRegion:”Beijing” deviceType:”IPHONE” loginRegion:”Beijing” …… …… } } } }
8 .Event 定义变化(3) platform/passport/user.login platform/passport/user.login.v2 { { { { userName:”userA”, userName:”userA”, userName:”userA”, userName:”userA”, deviceType:”IPHONE”, deviceType:”IPHONE”, deviceType:”IPHONE”, deviceType:1, loginRegion:”Beijing” loginRegion:”Beijing” loginRegion:”Beijing” loginRegion:”Beijing” …… …… } } } }
9 .Event 定义校验 Event A Producer Event A Event Schema Event Schema Event Center
10 .Event 消费⽅方式 团队 A Queue Streaming Event 团队 B Streaming 团队 …
11 .Event 管理理 Event Center Team A Team B Product A Product B Product C Event A Event A Event A Event B Event B Event B Event C Event C Event C Event C Event C Event C
12 .Event 数据保留留 Event Data 1⽉月1⽇日 1⽉月2⽇日 1⽉月3⽇日 1⽉月4⽇日 1⽉月5⽇日 1⽉月6⽇日
13 .什什么是 Event Center 明确的格式定义、约束和定义变化管理理 ⼀一份数据⽀支持多团队、多消费模式 同⼀一平台分团队,分产品管理理 数据按时间或⼤大⼩小存储
14 .核⼼心价值 完整的 Event 视图 user.login c.create Passport user.register c.update Resume … …
15 .核⼼心价值 可追溯的 Event 数据 platform/passport/user.login 1⽉月1⽇日 1⽉月2⽇日 platform/passport/user.login.v2 1⽉月1⽇日 1⽉月2⽇日
16 .从 消息队列列 到 Event Center (1) Topic A Thrift/Http/MQTT MQ Service Zookeeper
17 .从 消息队列列 到 Event Center (2) Queue 业务系统 简历投递 Streaming Spark/Flink 两份数据如何保持⼀一致?
18 .从 消息队列列 到 Event Center (3) 业务系统 eue Qu 简历投递 Str ea mi ng Spark/Flink
19 .从 消息队列列 到 Event Center (4) ? ⽤用户登录 ? 谁可以确认发的消息到底是什什么?
20 .从 消息队列列 到 Event Center (5) { userName:”userA”, deviceType:”IPHONE”, loginRegion:”Beijing”, loginTime:”2018-10-10 13:00:00” … } ⽤用户登录
21 .总结 统⼀一了了Queue模式与Streaming模式 Event 定义标准 提供完整的 Event 菜谱 Event 追溯
22 .我们在基于Apache Pulsar构建Event Center的⼀一些特性扩展
23 .Client Metrics Prometheus ZK Pulsar Client Pulsar Client Pulsar Client
24 .Event Tracing Interceptors Log 1 Before Send TraceId SpanId ParentId Sample 2 Send Acknowledge TraceId SpanId ParentId Sample 3 Before Consume TraceId SpanId ParentId Sample 4 Consume Acknowledge TraceId SpanId ParentId Sample
25 .Service Url Provider (1) pulsar://172.17.5.170:6650 Pulsar Client ZK 172.17.5.170 172.17.6.170 172.17.7.170
26 .Service Url Provider (2) pulsar://172.17.6.170:6650 Pulsar Client ZK 172.17.5.170 172.17.6.170 172.17.7.170
27 .我们可以 ⼀一起探讨Event Center设计 ⼀一起探讨Event Center落地 ⼀一起探讨Apache Pulsar 可能还有更更多 Thanks