ZeroC ICE入门学习
ZeroC ICE 是指ZeroC公司的ICE(Internet Communications
Engine)中间件平台。对于客户端和服务端程序的开发提供了很大的便利。
目前ICE平台中包括Ice,Ice-E,Ice Touch。
Ice为主流平台设计,包括Windows和Linux,支持广泛的语
言,包括C++,Java,C#(和其他.Net的语言,例如Visual
Basic),Python,Ruby,PHP和ActionScript。也包括所有的ICE服务,例如Ice
Grid,IceStorm等。
Ice-E是Ice在资源受限的平台上的一个实现,支持C++和嵌入式操作系统,例如Windows
CE,Linux。Ice-E本身不包含任何服务,但是可以利用在Ice上提供的各种服务。因此,通过Ice-E,移动设备也能无缝的集成到分布式系统中。
Ice Touch是为iphone和ipod touch开发的版本,包括Object-C映射,支持Iphone
OS,并为MAC OS X开发图形界面应用程序提供完整的Cocoa框架的访问。
RPC(Remote Procedure Call Protocol
远程过程调用协议),是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC假定某些传输协议的存在,如TCP或UDP,为通讯程序之间携带信息数据;在OSI网络通讯模型中,RPC跨越了传输层和应用层。
Ice通过与编程语言无关的中立语言Slice(Specification Language fro
Ice)来描述服务的接口,从而达到对象接口与其实现想分离的目的。
目前Ice平台支持客户端API的语言有C++、.NET、Java、Python、Object-C、Ruby、PHP、JavaScript等。在服务器可以使用C、.NET、Java、Python等来开发。
关键特性:
支持多语言之间的RPC互通。
高性能的RPC调用。
支持传统的RPC调用、异步调用、One-Way调用、批量发起请求,支持TCP通信、UDP通信等。
多平台支持。
不断更新,与时俱进。
ZeroC ICE原理图
- ZeroC ICE通讯原理图
- Ice RPC架构图
RPC框架的性能对比
下面是各个主流rpc框架(ice、dubbo、thrift、grpc)的性能对比,请自己观看: