`
bluky999
  • 浏览: 720291 次
  • 性别: 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++ 。

相关推荐

    ACE和ICE-高效的网络编程中间平台简介[参照].pdf

    ACE(Adaptive Communication Environment)和ICE(Internet Communications Engine)是两种高效、可移植的网络编程中间平台,常用于构建分布式计算系统。它们旨在解决传统中间件如DCOM(分布式组件对象模型)和...

    ICE分布式中间件开发VS分布式开发之ACE

    ### ICE分布式中间件开发VS分布式开发之ACE #### ICE分布式中间件概述 ...综上所述,ICE和ACE都是优秀的分布式中间件,但在不同的应用场景下会有不同的表现。选择哪一种取决于项目的具体需求和技术团队的能力。

    ice教程和ice中文版手册

    通过阅读手册,开发者可以了解如何创建和管理ICE服务,如何定义接口,以及如何编写客户端和服务器端代码。此外,它还可能包含特定的解决常见问题的章节,以帮助开发者在遇到困难时快速找到解决方案。 在本资料包中...

    zeroc ice教程 ice环境配置 Ice中文教程 C++ ICE java ICE ICE入门 ice基础教程 ice开发文档

    本文档主要围绕ICE环境配置、ICE开发和ICE基础概念等几个方面展开。 在环境配置方面,文档提供了Ice源码包及其依赖项的安装指导,包括如何下载和编译这些源码包。依赖项包括BerkeleyDB、bzip2/libbzip2、The ...

    ice和java socket性能测试对比

    首先,让我们了解一下Ice(Thermo Fisher Scientific的ZeroC Ice)和Java Socket的基本概念。Ice是一种跨平台的分布式计算框架,它提供了面向对象的远程过程调用(RPC)机制,支持多种编程语言,包括Java。Ice提供了...

    ice.rar_ice matlab_ice.m matlab_matlab ice_matlab ice_matlab i

    本文将深入探讨名为"ICE"的MATLAB源码,它源自冈萨雷斯的《数字图像处理》一书,并结合提供的ice.m文件,解析其核心功能和实现原理。 "ICE"是Image Contrast Enhancement(图像对比度增强)的缩写,是数字图像处理...

    Ice 经典入门和实例

    阅读这些资料,你可以从基础到高级全面了解Ice的各个方面,包括API使用、最佳实践和常见问题解决方案。 总的来说,"Ice经典入门和实例"是一套完整的学习资料,涵盖了Ice的基本概念、核心功能、高级特性和实战应用,...

    Ice-3.3.1 ICE

    总的来说,《Distributed Programming with Ice》是一本深入浅出的书籍,不仅详细介绍了Ice框架的内部工作原理,而且还提供了丰富的实例和最佳实践,是学习和掌握Ice的理想资源。对于那些希望在分布式计算领域有所...

    ice安装包 for windows.zip

    4. 掌握ICE的多线程模型,了解如何在并发环境中正确使用ICE。 5. 利用ICE的调试工具进行问题排查,如`icegridlog`和`iceprof`。 总结来说,“ice for windows”安装包是一个全面的ICE开发套件,包含了多个版本的...

    分布式开发 ICE最新版本

    7. **ACE依赖**:ICE的实现依赖于ACE(Adaptive Communication Environment)库,这是一个高度可移植的C++框架,提供了网络通信、线程管理、定时器和事件处理等功能,为ICE提供了强大的底层支持。 在ICE 3.3.1这个...

    Ice-3.5.1.zip

    1. 了解IDL:熟悉Ice的接口定义语言,学习如何定义服务接口和数据类型。 2. 编译和运行示例:通过修改和运行例子,掌握Ice的基本用法。 3. 阅读源码:逐步深入到源码层面,理解通信协议、序列化、多线程等核心机制。...

    android连接ICE服务

    ICE服务通常被用在分布式系统、物联网(IoT)项目或者需要远程控制和监控的应用场景中。这篇内容将详细介绍如何在Android应用中连接并使用ICE服务。 首先,我们要理解ICE的基本概念。ICE是由ZeroC公司开发的一种...

    ICE 简单客户端和服务端实例

    **ICE (Internet Communications Engine) 是一个中间件框架,它允许分布式系统中的对象进行通信。...通过实践这个示例,你可以深入了解如何在分布式环境中使用 ICE 构建客户端和服务端应用程序。**

    Ice-3.4.2安装包

    Ice-3.4.2安装包是Zeroc公司提供的最新版本的...了解其特性和正确安装后,开发者可以充分利用Ice的优势,构建高效、稳定且易于维护的应用程序。无论是小型项目还是大规模企业级系统,Ice都能成为可靠的通信基础设施。

    ICE 的聊天demo 含有ICE的配置文档

    这个聊天demo是基于ICE实现的一个实例,它包含了ICE的配置文档和使用指南,帮助开发者了解如何在Visual Studio 2013环境中集成和使用ICE。 1. **ICE中间件**:ICE是由ZeroC公司开发的跨平台通信框架,它提供了多种...

    ICE中间件技术详细教程_ICE_中间件_

    接下来,你需要了解如何定义和实现服务接口,以及如何启动和连接到ICE服务。此外,还要学习错误处理、日志记录和调试技巧。 **服务协议** ICE的服务协议是基于其自定义的二进制协议,旨在提供高效的数据传输。此外...

    由细胞能量不足(ICE)引起的神经元细胞功能性超激反应的超兴奋性:可通过增强替代细胞能量(ACE)途径进行治疗

    首先是光合作用,仅限于植物和某些细菌。 它利用阳光中的能量将二氧化碳与水结合形成碳水化合物和氧气。 第二种是化学能,所有生物都可以从碳水化合物和其他有机分子的细胞代谢中获得化学能。 获取细胞能量的第三个...

    ZeroC Ice 3.7 手册

    Ice是RPC通讯领域里最稳定、强大、高性能、跨平台、多语言支持的老牌开源中间件,特别适合于当前互联网领域中一个平台存在多种开发语言编程,以及网站和app应用并存的复杂大型项目。 RPC(Remote Procedure Call ...

    Linux下安装ICE包

    同时,理解ICE的基本概念,如代理(proxy)、 Slice语言(用于定义数据类型和接口)和多线程模型,对使用ICE进行开发也非常重要。 总之,Linux下安装ICE包涉及下载、解压、编译、安装和配置等多个环节,每个环节都...

Global site tag (gtag.js) - Google Analytics