在分布式多台机器环境下,维持统一的配置信息是最常见的需求,当配置信息改变时,所有的机器能实时获取并更新。
Fourinone通过Park进行配置信息管理,Park提供创建和修改信息的方法,并支持轮循和事件响应两种方式获取变化的对象,两种方式的效果一样。
下面是主要API的设计:
SetConfig:在ParKServer上建立一个“domain=浙江、node=杭州、value=西湖”的配置信息,并且在8秒后把“西湖”改为“余杭”。
GetConfigA:演示了以轮循方式监控配置信息的变化,它调用一个getLastest的方法,该方法可以传入一个旧版本的对象,并对比获取最新版本的对象,如果有就打印,如果没有最新版本,就返回null。
GetConfigB:演示了事件响应方式监控配置信息变化,它实现一个LastestListener的事件接口并进行注册,当信息变化时,会产生事件并获取到变化后的对象进行处理,LastestListener的happenLastest方法有个Boolean返回值,如果返回false,它会一直监控配置信息变化,继续有新的变化时还会进行事件调用;如果返回true,它完成本次事件调用后就终止。