您的位置:首页 > 其它

ice 主题好blog

2016-01-10 22:32 375 查看
http://www.iteye.com/topic/182975

ice平台概览

nonmutating关键字指出了 方法 操作不会修改它所操作的对象的状态。

对于nonmutating操作,换句话说,客户端的运行时可以尝试再次连接和安全的二次送出失败的请求。如果第二次发送能够到达服务器,那么万事OK。只有第二次再次失败,错误才会报告给应用(错误重试的次数可以在Ice的配置文件中配置)。


idempotent关
键字指出了一个操作能够安全的执行多次。同nonmutating操作一样,Ice运行时使用idempotent来达到更积极地错误恢复。\

例如一般的get类接口。

interface Clock

{
nonmutating TimeOfDay getTime();
idempotent void setTime(TimeOfDay time);
};


对某一个操作进行两次成功的操作,其结果都一样,就像只调用了一次一样,那么这个操作就是idempotent操作。
Slice内建类型映射到JAVA类型:

bool boolean

byte byte

short short

int int

long long

float float

double double

string String

AMI

Asynchronous Method Invocation,对于客户端而言,用于表示某个服务器端接口是异步操作,需在Slice中使用metadata来修饰这个接口,例如:

["ami"] void sayHello(int delay)

AMD

Asynchronous method dispatch,这个针对于服务器端,同样表示这个接口是异步操作,需在Slice中使用metadata来修饰这个接口:

["ami", "amd"] void sayHello(int delay)

通常对于这种异步接口而言,都需要使用Slice metadata ami和amd同时修饰。

Freeze 服务

Freeze用于将Slice对象持久化到数据库中,按照Manual里的说法,它应该是一个编译器,可以生成一些持久化操作的代码。Freeze持久化对象时使用的数据库是Berkeley DB。

IceBox 服务

IceBox可用于管理服务器中的动态组件。这些动态组件本质上也是提供服务的ICE程序。在形式上,这些组件可以是动态连接库。

IceGrid服务

IceGrid相当于一个DNS解析服务,可以让服务器不用配置EndPoint,客户端也不用指定服务器的EndPoint,以方便大量的服务器部署。在一般的应用中,我们需要为ICE服务器指定绑定的网络地址(IP和端口),同时也需要为客户端指定服务器端的地址信息。当服务增加到一定数量时,就会存在管理上和配置上的麻烦。而IceGrid则是用于避免这种麻烦,将服务器端和客户端上的地址信息通过一个符号代替,就像我们把Internet上的服务器使用域名来标识一样。

但IceGrid的作用不仅如此,通过配合部署一系列称为IceGrid Node的程序,IceGrid还可以管理各个服务器的启动、关闭、宕机重启等,其中甚至包括负载均衡。

Glacier2服务

按我的理解,Glacier2就像一个网关服务器。它被部署在服务器和客户端之间,我们的服务器群部署在内网,外网不可访问,然后通过Glacier2,外部网络的客户端就可以访问内网的服务器群提供的服务。

对于服务器的开发而言,使用Glacier2,服务器端不需要做任何改动。客户端需要配置Glacier2服务的地址信息,也需要配置要使用服务器的地址信息。Glacier2通过客户端欲访问的服务器地址,在内网定位到真实的服务器,并转发请求提供服务。

Glacier2支持验证客户端,从这一点看来,它又有点像一个验证服务器。通过验证客户端,以提供被正确授权的客户端以完整服务。

管理[b]服务[/b]

ICE服务器可以提供给外部一定的管理功能,包括:关闭服务器、读取服务器配置。这个功能是通过操作Ice.Admin这个Ice Object来实现的。这个Object包含两个Facet:Process和Property,分别对应于关闭服务器和读取服务器配置功能。

对于需要管理服务器的客户端而言,可以大致通过如下代码不完成。

ICE异常:

Ice::LocalException 运行时异常 。

Ice::UserException 用户异常

Ice::TimeoutException

Ice:: ConnectionTimeoutException

java接口文件



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: