长连接、短连接、长轮询、短轮询
https://zhuanlan.zhihu.com/p/340626245?utm_id=0
Apollo
dev、test、pro三套环境,每套环境中有多个namespace,每个namespace中会有多对key/value的键值对
动态拉取配置
配置定时刷新以及长轮询查询
监听器动态java反射更新bean属性值
apollo客户端在启动之初,就会扫描ioc容器中的所有bean,看那些bean的字段fieldName上有@Value注解,就把这些字段,按照字段名fieldName为key,Bean实例等作为value
客户端提前注册了很多listener,每个listener负责一个namespace,如果后续去服务端拉取配置,如果哪个namespace内有key/value的键值对的配置项被修改了,那么就会调起这个namespace对应的listener,并把这个namespace内被修改了的配置项传给对应的listener,这个listener就会根据被修改的配置项名,也就是fieldName为key,找到对应的Bean实例,然后通过反射的方式,修改ioc容器中该bean实例对应fieldName字段的值