在分布式多台机器环境下,维持统一的配置信息是最常见的需求, 当配置信息改变时,所有的机器能实时获取并更新。
fourinone通过park进行配置信息管理,park提供创建和修改信息的方法,并支持轮循和事件响应两种方式获取变化的对象,两种方式的效果一样。
SetConfig:在parkserver上建立一个“domain=浙江、node=杭州、value=西湖”的配置信息,并且在10秒后把“西湖”改为“余杭”
GetConfigA:演示了轮循方式监控配置信息变化,它调用一个getLastest的方法,该方法可以传入一个旧版本的对象,并对比获取最新版本的对象,如果有就打印,如果没有最新版本,就返回null
GetConfigB:演示了事件响应方式监控配置信息变化,它实现一个LastestListener的事件接口并进行注册,当信息变化时,会产生事件并获取到变化后的对象进行处理,LastestListener的happenLastest方法有个boolean返回值,如果返回false,它会一直监控配置信息变化,继续有新的变化时还会进行事件调用;如果返回true,它完成本次事件调用后就终止。
运行步骤:
1、启动ParkServerDemo(它的IP端口已经在配置文件指定)
2、运行GetConfigA
3、运行GetConfigB
4、运行SetConfig
如果是线上环境,为避免ParkServer宕机, parkServer可以配置master和任意数量的slave,请使用ParkMasterSlave替换上面的ParkServerDemo即可,每次输入M或者S启动master或者slave,运行过程关掉master,GetCo