1. 程式人生 > >Java遠端呼叫(一)基本原理

Java遠端呼叫(一)基本原理

http://blog.csdn.net/itleochen/article/details/11269811

有哪些遠端呼叫技術: Dubbo 、 RMI、 Web Service 、 Hessian、netty。

基本原理在底層層面去看,就是將流從一臺計算機傳輸到另外一臺計算機,基於傳輸協議( http、tcp、udp等等)和網路IO( bio、nio、aio )來實現。

關鍵技術點

1. 通訊協議:傳輸層:socket(tcp,udp) 應用層: http

2. 應用級的協議(dubbo, JRMP,SOAP, xml-rpc(xml+http),binary-RPC(二進位制+http))
    2.1. 提供更加易用的標準傳輸格式,避免直接做流操作.
    2.2. 實現網路通訊機制
        將傳輸格式轉化為流
通過某種傳輸協議傳輸至遠端計算機
遠端計算機將流轉化為傳輸格式

3.網路IO
bio(阻塞)、
nio(非阻塞)、
aio(非同步,jdk7中新特性)。
4. MultiThread,在服務端為每個請求啟用一個執行緒
5. 本地呼叫與遠端呼叫的透明化方案
Java classloader、Dynamic Proxy
6. 網路通訊處理機制
自動重連、廣播、異常、池處理等等
7. 序列化 
各種協議的序列化機制

下一章實現一個簡單的遠端服務呼叫