Ice系列--Ice Registry(1)

来源:互联网 发布:c语言中n的阶乘 编辑:程序博客网 时间:2024/05/15 23:53

上一篇提到IceBox没有地方存储服务的Endpoints信息。为了解决这个问题,诞生了服务注册表Registry组件,是一个以二进制文件形式存储运行期Ice服务注册信息的独立进程,支持主从同步,从节点可以分担查询请求,类似MySql读写分离的功能,以防止单点故障,同时依托registry的功能,Zeroc设计实现了Service Locator服务组件,它是一个标准的Ice Object服务对象,可以在Ice程序中调用这个服务,从而解决服务地址的查询问题。另外,Service Locator服务组件与Ice客户端Runtime框架结合,实现了自动透明的服务调用均衡负载功能。

(1)registry.cfg

#registry configfor icegridIceGrid.Registry.Client.Endpoints=tcp -p 7061IceGrid.Registry.Server.Endpoints=tcpIceGrid.Registry.Internal.Endpoints=tcpIceGrid.Registry.AdminPermissionsVerifier=IceGrid/NullPermissionsVerifier# 手动创建IceGrid.Registry.Data=D:\data1\registry# 是否允许动态注册,在开发阶段允许IceGrid.Registry.DynamicRegistration=1

(2) 启动注册表

icegridregistry --Ice.Config=./resources/registry.cfg

(3) 修改config.properties,增加下面几行代码

# 和registry同步Ice.Default.Locator=IceGrid/Locator:tcp -h localhost -p 7061#指定AdapterId,就可以使用XX@XX来访问OnlineBookService.AdapterId = OnlineBookServiceAdapterSMSService.AdapterId = SMSServiceAdapter

(4) 此时修改Client中的访问代码

(1) OnlineBookService Ice.Communicator ic=null;        String[] initparams = new String[]{"--Ice.Default.Locator=IceGrid/Locator:tcp -h localhost -p 7061"};        try{            //初始化Communicator连接对象,负责处理客户端的连接,可以进行设置,如客户端连接数量            ic = Ice.Util.initialize(initparams);            // 客户端代理proxy对象,访问确定的endpoints,返回的对象是广义的            Ice.ObjectPrx base = ic.stringToProxy("OnlineBookService@OnlineBookServiceAdapter");// 此时是根据XX@XX来访问的,如果指定一个命名规则,就很方便的查询出具体的endpoints,不用详细给定。(2)SMSClientString[] initparams = new String[]{"--Ice.Default.Locator=IceGrid/Locator:tcp -h localhost -p 7061"};        try{            //初始化Communicator连接对象,负责处理客户端的连接,可以进行设置,如客户端连接数量            ic = Ice.Util.initialize(initparams);            // 客户端代理proxy对象,访问确定的endpoints,返回的对象是广义的            Ice.ObjectPrx base = ic.stringToProxy("SMSService@SMSServiceAdapter");(3)SMSServiceImpl 中的访问OnlineBook代码Ice.ObjectPrx base =_adapter.getCommunicator().stringToProxy("OnlineBookService@OnlineBookServiceAdapter");

(5) 具体的输出和前面是一样的。
(6) 运行图片
这里写图片描述

原创粉丝点击