RMI及其高可用(ZK实现)

RMI及其高可用(ZK实现)

RMI

  • 远程方法调用。如主机A远程调用主机B上的方法。
    • 本地主机实际上调用的是远程主机提供的远程接口的实现类
  • java原生的RMI框架需要注意:
    • 客户端和服务端需要使用【相同的接口】。即客户端和服务端均需要创建相同名称的接口(包名也要相同)
    • 服务端需要指定rmi服务器的IP地址,此IP地址必须与发布的资源所在的IP地址一致
      	System.setProperty("java.rmi.server.hostname","服务所在的IP地址");	// 声明rmi服务端所在的ip地址(也可用主机名,但需要在hosts文件中作映射)
      	String location = "rmi://服务所在的IP地址:端口/包名.远程接口的实现类名称"	// 服务端发布的资源地址
      

基于ZK集群实现的高可用RMI

  • 为避免单点故障,可设置高可用RMI,通过zk集群实现。
    • 多个RMI服务端发布服务后,分别连接zk集群并在其中一个节点上注册临时节点,并将资源地址写入znode
    • RMI客户端连接zk并监听该父节点,并获取所有子节点中的数据(资源所在地址)
    • 客户端根据地址调用服务端远程接口的实现类方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值