1 ice [其实,可以跟thrift比,有木有 ]
Internet Communications Engine
http://www.zeroc.com/ 当前ice版本 3.4.2
Zeroc推出的一种分布式的面向对象中间件,解决分布式的异构计算。可以用C++, Java, python, php, ruby, c# 等进行分布式的交互计算。
主要设计目标是: · 成为适用于异种环境的面向对象中间件平台。 · 具有一组完整的特性,支持广泛的领域中的实际的分布式应用的开发。 · 去掉不必要的复杂性,使平台更易于学习和使用。 ·是一种在网络带宽、内存使用和CPU 开销方面都很高效的实现。 ·是 一种具有内建安全性的实现,使它适用于不安全的公共网络。
ice特点
- 面向对象的语义
- 支持同步和异步
- 硬件架构无关,操作系统无关,编程语言无关
- 完全线程化,api线程安全
- 使用tcp,ip,udp
- 安全,ssl支持
- 内建机制支持持久化对象,支持Berkeley DB
ice 使用
- slice :接口定义 - 中间数据结构
- leader/follow 线程池
- epoll select 模型
- 内置互斥 与 同步
ice基于gpl开源,同时发布付费版本。
ps:
- 你看,slice那种方式跟thrift几乎一样一样的, slice2py ,thrift2java ,不就一回事儿么 !
- 有很多人在使用ice,就举个很简单的例子,500wan,在线彩票投注平台,就用这个;网上有他们公司的ppt呢还;另外这个团队还使用python,他们的前端以php和python为主。
2 ace
Adaptive Communication Environment
Adaptive Communication Environment(自适配通信环境),简称ACE。为一个以C++的Template技术所做成的开放源代码的可跨平台的网络应用程序的程序库套件。它提供了socket/threading/memory management等多种系统调用的面对对象的wrapper,使C++通信软件开发更加简单。
附:
1 常见语言无关的跨平台通信中间件/方式:
- ace + tao
- coroa
- webservice : soap协议
最后,笔者想推荐一下 thrift : http://thrift.apache.org/
Thrift is a software framework for scalable cross-language services development. It combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml.
Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008.