ICE第三篇------一些疑难点
来源:互联网 发布:xp不能访问网络位置 编辑:程序博客网 时间:2024/06/04 19:24
1 间接代理
参考http://blog.sina.com.cn/s/blog_53e8499c0100lkoo.html
IceGrid用于支持分布式网络服务应用,一个IceGrid域由一个注册表(Registry)和任何数目的节点(Node)构成。注册表(Registry)和节点(Node)一起合作管理一些信息以及包含一些应用(Application)的服务进程。每项应用(Application)被指定在特定节点上的服务。这个注册表(Registry)持久记录了这些信息,而节点(Node)负责启动和监测其指定的服务器进程。对于一个典型的配置,一个节点(Node)运行在一台计算机(称之为Ice服务器主机)。注册表(Registry)并不消耗很多处理器时间,所以它常常是和一个节点(Node)运行在同一台计算机上的,注册表(Registry)还可以和一个节点(Node)可以运行在同一进程中.如果需要容错,注册表(Registry)还可以用主从式的设计支持复制(Replication)。
注册表(Registry)的主要责任,是解决作为Ice定位服务的间接代理问题,当客户端第一次尝试使用一种间接代理,客户端Ice run time首先连接注册表(registry),注册表将间接代理的符号信息转化为直接代理的endpoint,然后客户端和直接代理建立一个连接。通过适配器复制,同名适配器可以分布在多个节点上,间接代理可以映射到多个节点上的直接代理,在运行时由注册表服务根据负载均衡自动选择一个直接代理给客户端。
使用间接代理时,客户端可以用以下方式直接获取服务对象代理:
MyProxy=theObject@theAdapter
更简单一点的话可以用以下方式
MyProxy=theObject
2.6.1 分布式部署
在部署IceGrid分布式服务时,需要启动注册表服务(icegridregistry),并配置注册表服务地址端口、通信协议和注册信息保存的目录地址(ICE的注册信息保存为BerkeleyDB的数据库文件):
IceGrid.Registry.Client.Endpoints=tcp-p 4061
IceGrid.Registry.Data=/opt/ripper/registry
在服务器节点中和客户端都需要配置注册表服务的地址端口和通信协议:
Ice.Default.Locator=IceGrid/Locator:tcp -h 172.0.0.1 -p4061
参考这个位置http://blog.chaoskey.com/2008/04/24/10
communicator‑>stringToProxy("factory@EncoderAdapter");
Ripper::MP3EncoderFactoryPrx factory =
Ripper::MP3EncoderFactoryPrx::checkedCast(proxy);
Ripper::MP3EncoderPrx encoder = factory‑>createEncoder();
- ICE第三篇------一些疑难点
- 编程疑难点
- 多态疑难点
- c疑难点
- Android疑难点解答
- 有关H.264中NAL的一些疑难点的解释
- JavaScript 中的疑难杂点
- java 线程之疑难点
- 疑难点积累(二)
- Java多线程基础知识疑难点
- Python知识疑难点汇集
- ice 注意使用点
- xmlhttprequest open()函数疑难点使用
- java 正则表达式 易忘点 疑难点
- FREERTOS读写TF卡驱动疑难点
- 说说常见的几个js疑难点
- 安卓基础知识疑难点总结
- 4.4 文件管理疑难点 1-2
- 查找csdn排名靠前的博客
- SAP SMARTFORMS字段处理的几个小技巧
- WCF 项目应用连载[9] - 契约中的委托 & 事件参数处理
- LINQ之路 3:C# 3.0的语言功能(下)
- 线性代数:零空间
- ICE第三篇------一些疑难点
- Java EE开发四大常用框架
- HDU1863 畅通工程
- java第九章
- springMVC + swfupload 附件上传功能的实现
- 计算机应用与社会化分析 (一)
- libuv
- “有选择”与"无可奈何"
- Async和Await异步编程的原理