Solon

Solon Rpc 使用注册与发现服务

</> markdown

本案使用 water-solon-cloud-plugin 做为注册与发现服务。其它的 solon cloud 注册与服务插件都可。

1、服务端项目,改造

引入 water-solon-cloud-plugin 插件依赖(或者别的注册与发现服务)。修改应用配置:

server.port: 9001

solon.app:
  group: "demo"
  name: "userapi"
  
solon.cloud.water:
  server: "waterapi:9371"

其它不用动。

2、客户端项目,改造

引入 water-solon-cloud-plugin 插件依赖。修改应用配置:

server.port: 8081

solon.app:
  group: "demo"
  name: "userdemo"
  
solon.cloud.water:
  server: "waterapi:9371"

服务使用的地方改造一下:

@Maping("user")
public class UserController {
    //直接指定地址和序列化方案(旧的不要了)
    //@NamiClient(url = "http://localhost:9001/rpc/v1/user", headers = "Content-Type=application/json")
    
    //指定服务名、路径和序列化方案(新的不用关注服务地址)
    @NamiClient(name = "userapi",  path="/rpc/v1/user", headers=ContentTypes.JSON)
    UserService userService;
    
    @Post
    @Mapping("register")
    public Result register(User user){
        //调用远程服务,添加用户
        userService.add(user);
        
        return Result.succeed();
    }
   
}

打包后,启动服务。(要在water环境下运行)

java -jar userdemo.jar

3、代码演示(演示与文档内容略不同)