Hadoop RPC通信机制

客户端与服务端都要实现同一个接口Bizable,客户端得到服务端实例代码对象的方法。
服务端需要绑定相关的IP地址、端口。
 
1.在这里,我们使用Hadoop提供的工具类RPC.Builder,下面就是服务端相关代码
public class RPCServer implements Bizable{
       //服务端实现sayHi接口,为客户端提供接口
       public String sayHi(String name )
      {
             return "Hi~" + name ;
      }
      
       public static void main(String[] args ) throws HadoopIllegalArgumentException, IOException {
             //启动服务器
            Configuration conf = new Configuration();
            Server server = new RPC.Builder( conf ).setProtocol(Bizable. class ).setInstance( new RPCServer()).setBindAddress( "192.168.8.100" ).setPort(9527).build();
             server .start();
      }
}
 
 
2.接口代码如下:
public interface Bizable {
       public static final long versionID = 10010;
       public String sayHi(String name );
}
 
3.客户端,需要得到服务端代理对象,通过RPC.getProxy可以得到服务器代码对象
public class RPCClient {
       public static void main(String[] args ) throws IOException {
          //通过RPC得到一个代理对象
          Bizable proxyBizable = RPC.getProxy(Bizable. class , 10010, new InetSocketAddress( "192.168.8.100" , 9527), new Configuration());
         
          String result = proxyBizable .sayHi( "Tomcat" );
          System. out .println( result );
          RPC.stopProxy( proxyBizable );
      }
}
 
4.我们先启动服务端,再启动客户端,就可以看到Hi~ Tomcat

转载于:https://www.cnblogs.com/dulixiaoqiao/p/6978588.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值