我需要:
与前端通信的客户端,与3个文件服务器通信。
我应该怎么做呢?它需要使用RMI作为分布式系统。
我还需要监控所有三个文件服务器。
根据我的理解,我需要建立一个RMI注册表,但如何在一个注册表中建立三个并发服务器?
答案 0 :(得分:1)
好的,我正确地认为我有以下内容:服务器接口,服务器实现和主服务器,它创建三个服务器(具有唯一名称),最后是客户端?
快速草图:
public interface UploadMaster extends Remote
{
void upload(String name, byte[] contents) throws IOException, RemoteException;
}
public interface LoadBalancingMaster extends Remote
{
void register(Slave slave) throws RemoteException;
void unregister(Slave slave) throws RemoteException;
}
public interface Slave extends Remote
{
/** @return the number of files now uploaded to this slave. */
int upload(String name, byte[] contents) throws IOException, RemoteException;
int getFileCount() throws RemoteException;
}
我希望这是作业。 RMI是文件传输的不良选择,因为它将整个参数列表捆绑到两端的内存中,而不是提供流式接口。