官方网站:
http://storm.apache.org/releases/1.2.2/Distributed-RPC.html
RPC原理图解
基于Hadoop的RPC实现
添加依赖
<!--添加cloudera的repository-->
<repositories>
<repository>
<id>cloudera</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
</repository>
</repositories>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.6.0-cdh5.7.0</version>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
/**
* 用户的服务接口
*/
public interface UserService {
public static final long versionID = 88888888;
/**
* 添加用户
* @param name 名字
* @param age 年龄
*/
public void addUser(String name, int age);
}
/**
* 用户的服务接口实现类
*/
public class UserServiceImpl implements UserService{
public void addUser(String name, int age) {
System.out.println("From Server Invoked: add user success... , name is :" + name);
}
}
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.ipc.RPC;
/**
* RPC Server服务
*/
public class RPCServer {
public static void main(String[] args) throws Exception{
Configuration configuration = new Configuration();
RPC.Builder builder = new RPC.Builder(configuration);
// Java Builder模式
RPC.Server server = builder.setProtocol(UserService.