{ ice } 初识ice

ICE是什么

首先澄清下ICE不适真正的“冰”,他是“Internet Communication Engine"的缩写,是zeroC公司的力作,也是前CORBA专家开发的开源的、面向对象的、分布式通信协议中间件。

ICE能做什么

  • 跨语言通信,目前支持C、C++、.NET、.Java、Ruby、Python、JS、VB
  • 高性能RPC调用,主要产品有skype
  • 文件分发(IcePatch2)
  • 服务管理(IceBox)
  • 注册管理(Registry)
  • 负载均衡(IceGrid)
  • 版本控制(IceFacet)
  • 持久化 (freeze)

ICE调用模式(TCP、UDP、SSL)

  • Oneway
  • Twoway
  • Datagram
  • BatchOneway
  • BatchDatagram

ICE是如何工作的

ICE提供了面向对象的客户-服务的API、工具和库支持,要与ICE持有的对象通信,必须持有对象的代理,其实就是对象的实例。ICE在运行时会定位到这个对象,随后寻找和激活她。再把IN参数传递给他,再通过OUT参数获取返回结果。

代理:直接代理 、 间接代理

  • 直接代理
    本身保存了对象的标识和服务器的运行地址

  • 间接代理
    本身保存了对象的标识和对象适配器名

    间接代理没有保存对象的寻址信息,为了能正确定位服务器,客户端会用代理内部的对象适配器名,把它传给某个定位器服务,定位器会把适配器名当作关键字,在含有服务器地址的表中寻找,之后把服务器的地址返回给客户端,客户端(RunTime)现在就知道了如何联系服务器,像平常一样分发(dispatch)客户端的请求。
    ICE保证在任何网络或操作系统下,在RunTIme获取服务器成功调用一次,如果调用失败,ICE会尝试重试;重试不成功会提示客户端失败。
    ICE提供同步和异步调用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,186评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,001评论 19 139
  • 1、ICE是什么? ICE是ZEROC的开源通信协议产品,它的全称是:The Internet Communica...
    蓝胖子_Android阅读 1,241评论 0 3
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,376评论 11 349
  • 人有时候真可怜,明明深爱一个人却无法说出口,只想看她好好的自己心里就足够了。因为知道自己不配,便只能在心里偷偷的喜...
    霂心阅读 88评论 0 0