您好,欢迎访问三七文档
ICE采用的网络协议有TCP、UDP以及SSL三种。ICE是中间件平台。Oneway(单向调用):客户端只需将调用注册到本地传输缓冲区(LocalTransportBuffers)后就立即返回,不会等待调用结果的返回,不对调用结果负责。Twoway(双向调用):最通用的模式,同步方法调用模式,只能用TCP或SSL协议。Datagram(数据报):类似于Oneway调用,不同的是Datagram调用只能采用UDP协议而且只能调用无返回值和无输出参数的方法。BatchOneway(批量单向调用):先将调用存在调用缓冲区里面,到达一定限额后自动批量发送所有请求(也可手动刷除缓冲区)。BatchDatagram(批量数据报):与上类似不同的调用模式其实对应着不动的业务,对于大部分的有返回值的或需要实时响应的方法,我们可能都采用Twoway方式调用,对于一些无需返回值或者不依赖返回值的业务,我们可以用Oneway或者BatchOneway方式,例如消息通知;剩下的Datagram和BatchDatagram方式一般用在无返回值且不做可靠性检查的业务上,例如日志。1个关键的概念:数据的序列化和反序列化。ICE的核心部份,提供了客户端与服务端的网络连接等核心通信功能,以及其它的网络通信功能的实现及可能的问题的处理,让我们在编写应用代码的时候不必要去关注这一块,而专注于应用功能的实现。ICE主要就是各种语言之间的转换。ice协议主要有两部分:一个是编码规则,另一个是状态机。双向连接的特性使得ice能穿越防火墙,NAT边界,还支持压缩,在低带宽链接上很有用ICE的几个有用组件:Glacier是Ice防火墙服务:它能让客户与服务器通过防火墙安全地进行通信,且又不牺牲安全性。客户-服务器之间的通信数据使用公钥证书进行了完全的加密,并且是双向的。Glacier支持相互认证,以及安全的会话管理IcePatch是一种软件修补服务。你可以用它来轻松地把软件更新分发给客户。客户可以简单地连接到IcePatch,请求获得特定应用的更新。这个服务会自动检查客户的软件的版本,并以一种压缩形式下载任何更新过的应用组件,从而节省带宽。你可以用Glacier服务来保护软件补丁,只让得到授权的客户下载软件补丁。IceStrom类似于组播。IceStorm是一种发布-订阅服务,能够解除客户与服务器的耦合。在本质上,IceStorm充当的是事件分发交换机。发布者把事件发给这个服务,由它发给订阅者。这样,发布者发布的单个事件就可以发送给多个订阅者。事件按照主题进行分类,订阅者会指定它们感兴趣的主题。只有那些与订阅者感兴趣的主题相吻合的主题才会发给这个订阅者。这个服务允许你指定服务质量标准,让应用在可靠性和性能之间进行适当的折衷。如果你需要把信息分发给大量应用组件,IceStorm就会特别有用(一个典型的例子是,拥有大量订阅者的证券报价应用)。IceStorm能解除信息的发布者与订阅者的耦合,并负责重新分发已发布的信息。此外,IceStorm还可以作为联盟(federated)服务运行,也就是说,服务的多个实例可以在不同的机器上运行,使处理负载分摊到许多CPU上。IceBox是一种简单的应用服务器,可用于协调许多应用组件的启动和停止。应用组件可以作为动态库、而不是进程进行部署。例如,你可以在单个Java虚拟机中运行若干应用组件,而无需使用多个拥有自己的虚拟机的进程,从而减轻整个系统的负担。Ice只有1个层次最深的对象,其他都是对象上的facts,使用标识符来标识该对象。
本文标题:ICE协议
链接地址:https://www.777doc.com/doc-2877910 .html