`
bluky999
  • 浏览: 716021 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

了解 ICE和ACE

    博客分类:
  • Java
阅读更多

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.

0
1
分享到:
评论
2 楼 bluky999 2011-11-23  
服务端开发时经常会用到的其他C++库:
1 BOOST ,准标准库,你懂的
2 mysql++ ,已逐步取代其他CppApi
1 楼 bluky999 2011-08-30  
google的 protocol buffers 也是类似产品,不过据tim yang等人的测试,google的速度更快表现更优。  http://timyang.net/programming/thrift-protocol-buffers-java-howto/


protocol buffers目前主要支持java,python, c++ 。

相关推荐

Global site tag (gtag.js) - Google Analytics