57、大规模系统的可用性、扩展性与延迟管理

大规模系统的可用性、扩展性与延迟管理

1. Photon 管道架构与处理流程

Photon 管道在每个站点包含调度器(Dispatcher)、事件存储(EventStore)和连接器(Joiner),这些组件对查询日志、点击日志和连接后的点击日志进行操作。而 IdRegistry 存储着全球运行的 Photon 实例之间共享的关键状态。

连接器的处理流程如下:
- 提取 queryId 并在 EventStore 中查找对应的查询。
- 若查询被找到:尝试在 IdRegistry 中注册 clickId。
- 若 clickId 已在 IdRegistry 中,假定连接操作已完成。
- 若不在,则将 clickId 记录在 IdRegistry 中,并将事件记录在联合事件日志中。
- 若查询未找到:连接器向调度器发送失败响应,触发重试。

在美国,IdRegistry 在三个地理区域的数据中心有五个副本,往返延迟最长可达 100 毫秒。管道中的其他组件部署在东西海岸两个地理上相距较远的区域。在高峰期,Photon 每分钟可处理数百万个事件,每天消耗数 TB 的外部日志(如点击日志)和数十 TB 的主日志(如查询日志)。每个数据中心运行着一千多个 IdRegistry 分片,部署了数千个调度器和连接器,以及数百个缓存事件存储和日志事件存储工作节点。

2. 大规模系统的可用性挑战

随着云用户数量的增长和数据中心基础设施规模的扩大,系统可用性问题愈发突出。对于数据流式处理系统而言,高可用性和正确性至关重要,因为当事件处理所需资源突然不可用时,很可能会错过一些事件。

通常认为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值