ice,thrift性能哪个高
答案:1 悬赏:80
解决时间 2021-02-15 23:56
- 提问者网友:爱你等于作孽
- 2021-02-15 02:14
ice,thrift性能哪个高
最佳答案
- 二级知识专家网友:寂寞的炫耀
- 2021-02-15 02:38
两个框架的:
1。跨语言
两个框架都很好的做到了这一点,主流的开发语言C++,Java,Python,Ruby等等都能支持。
2。代码生成
两个框架都有自己的IDL,(Interface Define Lanaguage),在ICE里面叫slice文件,Thrift里面就叫Thrift文件,用来描述将要实现的服务接口,然后通过工具程序自动生成骨架代码,比如client和server端的stub代码.Thrift生成的代码都在一个文件里,ICE则细致的多,能很好的区分那部分是server端,那部分是client端用的。
3。网络传输的编码和解码
对象在传输过程时,发送端发送时需要将Object编码成字节流,接收端接收后则将这些字节流解码成对应的Object,从两个框架的实现来看,ICE的编码要比Thrift要紧凑和经济的多,Thrift在编码Object时,连同Object的Field的类型和编号(Thrift定义的每个Object的field都会分配一个编号)以及每个函数的参数类型和编号都给编码进去了,ICE则经济的多,只编码了Field的value。
4。框架本身
Thrift整个框架代码非常简洁,相比ICE来说,ICE要比Thrift完善和成熟的多。这个主要体现在服务的高可用性和可扩展性方面。
ICE提供的服务可以是分布式的,框架有完善,成熟的运行环境来运行服务,这些环境提供了很多很好的机制,来保证服务的可扩展和高可用性,比如
Register机制,通过Register,让client再连接服务时多了一层寻址的机制,如同DNS一样,可以方便的将某个服务切换到其他机器上,和DNS作IP轮询一样,ICE可以通过Register来给服务做负载均衡
也因为ICE提供的这些环境可以使的ICE编写的服务能方便的部署和发布。
1。跨语言
两个框架都很好的做到了这一点,主流的开发语言C++,Java,Python,Ruby等等都能支持。
2。代码生成
两个框架都有自己的IDL,(Interface Define Lanaguage),在ICE里面叫slice文件,Thrift里面就叫Thrift文件,用来描述将要实现的服务接口,然后通过工具程序自动生成骨架代码,比如client和server端的stub代码.Thrift生成的代码都在一个文件里,ICE则细致的多,能很好的区分那部分是server端,那部分是client端用的。
3。网络传输的编码和解码
对象在传输过程时,发送端发送时需要将Object编码成字节流,接收端接收后则将这些字节流解码成对应的Object,从两个框架的实现来看,ICE的编码要比Thrift要紧凑和经济的多,Thrift在编码Object时,连同Object的Field的类型和编号(Thrift定义的每个Object的field都会分配一个编号)以及每个函数的参数类型和编号都给编码进去了,ICE则经济的多,只编码了Field的value。
4。框架本身
Thrift整个框架代码非常简洁,相比ICE来说,ICE要比Thrift完善和成熟的多。这个主要体现在服务的高可用性和可扩展性方面。
ICE提供的服务可以是分布式的,框架有完善,成熟的运行环境来运行服务,这些环境提供了很多很好的机制,来保证服务的可扩展和高可用性,比如
Register机制,通过Register,让client再连接服务时多了一层寻址的机制,如同DNS一样,可以方便的将某个服务切换到其他机器上,和DNS作IP轮询一样,ICE可以通过Register来给服务做负载均衡
也因为ICE提供的这些环境可以使的ICE编写的服务能方便的部署和发布。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯