1.一種基于RMI和ZooKeeper實現(xiàn)遠(yuǎn)程調(diào)用框架的方法,其特征在于,所述方法通過利用ZooKeeper充當(dāng)一個服務(wù)注冊表,服務(wù)提供者注冊上來形成一個集群,發(fā)布RMI服務(wù),并將RMI地址注冊到ZooKeeper中,以供服務(wù)消費(fèi)者消費(fèi)服務(wù)。
2.根據(jù)權(quán)利要求1所述的一種基于RMI和ZooKeeper實現(xiàn)遠(yuǎn)程調(diào)用框架的方法,其特征在于,所述ZooKeeper提供兩個功能:
1)服務(wù)注冊,相當(dāng)于一個注冊表,保存服務(wù)提供者注冊上的基本信息;
2)心跳檢測,定時向服務(wù)注冊者發(fā)送一個請求,如果服務(wù)注冊者長期沒有請求,ZooKeeper認(rèn)為服務(wù)提供者已經(jīng)“掛掉”了,只會從“活著”的服務(wù)提供者中選出一個座位當(dāng)前的服務(wù)提供者。
3.根據(jù)權(quán)利要求1或2所述的一種基于RMI和ZooKeeper實現(xiàn)遠(yuǎn)程調(diào)用框架的方法,其特征在于,所述方法實現(xiàn)步驟如下:
第一步:設(shè)置ZooKeeper端口信息,啟動ZooKeeper,利用ZooKeeper充當(dāng)一個服務(wù)注冊表,服務(wù)提供者注冊上來形成一個集群;
第二步:編寫服務(wù)提供者,并且發(fā)布成RMI服務(wù),將RMI地址注冊到ZooKeeper中;
第三步:服務(wù)消費(fèi)者消費(fèi)服務(wù),消費(fèi)者要在創(chuàng)建的時候連接ZooKeeper,獲取RMI服務(wù)地址的信息,用來調(diào)用遠(yuǎn)程的RMI服務(wù)。
4.根據(jù)權(quán)利要求3所述的一種基于RMI和ZooKeeper實現(xiàn)遠(yuǎn)程調(diào)用框架的方法,其特征在于,所述服務(wù)提供者在提供服務(wù)時繼承 java.rmi.Remote接口,每個RMI接口的方法必須聲明拋出java.rmi.RemoteException異常。