Apollo 的实时通知是怎么实现的?
先说出你的答案
定义边界、关键机制、一个反例;P8题再补容量、失败与验证。
查看完整题解
参考回答
直接回答
客户端先发 /notifications/v2 请求并等待。Config Service 收到相关发布消息时返回有变化的命名空间,客户端再发配置读取请求。一直等到服务端超时仍没有变化时,通常收到 HTTP 304,然后发下一轮。
讲清原理
Admin Service 发布后会产生 ReleaseMessage,各 Config Service 扫描并分发消息。通知中的 notificationId 用于下一轮等待。配置读取用的是对应发布的 releaseKey,两种标记解决不同问题。
例子与易错点
开关发版后,客户端先收到“application 有变化”,随后才从配置接口拿到新的值。这中间会受等待、网络与应用处理时间影响。
延伸阅读 Apollo 怎样让应用接到最新配置? · Apollo 的 ReleaseKey 到底标识什么? · Apollo 客户端减少重复拉取有哪些办法?
和评分标准对照,你能独立回答到哪一步?
自评会安排下一次复习,不保存你的口述内容。
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。