{ 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 前言: 排版 ...
    庭说阅读 8,394评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 128,910评论 18 137
  • 1、ICE是什么? ICE是ZEROC的开源通信协议产品,它的全称是:The Internet Communica...
    蓝胖子_Android阅读 985评论 0 3
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 40,330评论 11 349
  • 人有时候真可怜,明明深爱一个人却无法说出口,只想看她好好的自己心里就足够了。因为知道自己不配,便只能在心里偷偷的喜...
    霂心阅读 41评论 0 0
  • 梦里常告别 真真切切 漫天大雪 冰冻泪眼凝噎 有一次 竟是与自己告别 却平静平常 仿佛只是一场旅行 到站了就下车 ...
    碧舟阅读 467评论 0 50
  • 童年的我生活在上有青天,下是泥土,中间树木林包围的农村里。村子很小,乃至于后来我用GOOGLE地图也搜不到我的村子...
    lk洛阅读 208评论 0 5
  • 文 | 阿凡 今天这篇文章只讲四个字。 这“四个字”是有一天在日常工作中,像突然的灵感来临一样,涌现出来的。我及时...
    周大渔可持续发展阅读 594评论 0 2
  • 一切都不真实 一个鲜活的生命可以给生活带来多大希望 那现在就可以给家人留下多少绝望 不是终点 可是却走到了尽头...
    摄计詩Z阅读 161评论 0 0