首先考虑到B端的配置变更频率不会太频繁,所以C端会做缓存,那么如果B端发生变更如何通知到C端刷新缓存拉取最新配置内容,有两种实现方式:
B端配置变更后发布消息,C端监听变更消息,然后自动失效缓存
B端配置变更后...,手动通知C端,然后失效缓存,也就是半自动化刷新
自动失效缓存不展开分析,半自动化刷新实现也很简单,基于Apollo的客户端通知机制就可以实现,在配置中心发布变更主体,然后在应用层监听变更内容并做出响应操作即可...三、原理&源码分析
从前边的案例可以看出,核心能力支撑就是Apollo的客户端通知,那么我们就来分析一下Apollo客户端通知能力的实现原理。...机制,为了防止推送机制失效导致配置不更新
客户端定时拉取会上报本地版本,通常对于定时拉取操作,服务端都会返回304
定时频率默认每5分钟拉一次,客户端也可以通过在运行时指定来覆盖,...在网上找到了Apollo作者对该问题的解答
为什么不使用消息系统?太复杂,杀鸡用牛刀。
为什么不用 TCP 长连接?对网络环境要求高,容易推送失败。且有双写问题。
为什么使用 HTTP 长轮询?