古詩詞大全網 - 古詩大全 - ice,thrift性能哪個高

ice,thrift性能哪個高

兩個框架的:

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編寫的服務能方便的部署和發布。