Java中實現分佈式的方式有:EJB、RMI、XMLRPC、Web Service、Hessian、Thrift 、Protobuf、NIO(Netty、Mina)安全
優點:可擴展性好,安全性強,支持分佈式事務處理。網絡
劣勢:不能跨語言;配置相對複雜,不一樣J2EE容器之間很難作無縫遷移。併發
優點:面向對象的遠程服務模型;基於TCP協議上的服務,執行速度快。框架
劣勢:不能跨語言;每一個遠程對象都要綁定端口,不易維護;不支持分佈式事務JTA,RMI框架對於安全性、事務、可擴展性的支持很是有限。分佈式
優點:跨語言、跨平臺,SOA思想的實現;安全性高;能夠用來兼容legacy系統的功能高併發
劣勢:性能相對差,不支持兩階段事務性能
優點:使用簡單,速度快;跨語言,跨平臺;能夠用來兼容legacy系統的功能。對象
劣勢:安全性的支持不夠強,不支持兩階段事務。事務
優勢:基於TCP通訊,效率上高於HTTP的方式,非阻塞IO應對高併發綽綽有餘。根據具體的須要制定數據傳輸的格式,可擴展性強。效率
缺點:不能跨語言,沒法穿透防火牆。
單純的序列化反序列化庫;
不只包括序列化反序列化功能,仍是RPC框架
ICE的功能更完備,若是說Thrift是網絡框架,那麼ICE就是解決方案。