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) 运行图片
阅读全文
0 0
- Ice系列--Ice Registry(1)
- Ice系列--IceBox(1)
- IceDemos:Ice registry
- ZeroC Ice Ice Registry实现负载均衡
- ZeroC Ice Ice Registry实现负载均衡
- ice
- ICE
- ICE
- Ice
- ICE
- ice
- Ice系列--IceBox(2)
- Ice系列--IceGrid Node
- Ice 主从注册中心registry配置
- ice学习系统 1 ice 中的基本概念
- Ice系列——HelloIce
- ICE介绍(1)
- Ice Age - 1 Transcript
- 【dubbo】小实例
- POJ 1976-动态规划
- 蓝牙
- JavaWeb复习小知识点(一)
- linux安装scrapy出错'x86_64-Linux-gnu-gcc' failed with exit status 1
- Ice系列--Ice Registry(1)
- Balanced Lineup(线段树-树状数组)
- HAWQ + MADlib 玩转数据挖掘之(十)——图算法之单源最短路径
- Python 多进程
- UnsupportedClassVersionError 解决办法
- 数组与其内存分配情况
- 安卓系统之旅——最全的Android源码目录结构
- 智能小车十一《完成小车电路板设计》
- LeetCode 202. Happy Number