一直认为jsonrpc 是一个很不错的数据交换协议,轻便,简单。 不仅可以满足各终端(移动端,PC端)定义标准化请求,同时也可以做为后端各个不同语言服务组件之间RPC通信交互,在性能要求不太高情况下比Google Protocol Buffers、Apache Thrift、POJO、gRPC 再简单不过了.后面可以封装。
介绍
springboot + jsonrpc使用案例,小巧灵活,适合分布式模块开发.
JSON-RPC 2.0 规范
http://wiki.geekdream.com/Specification/json-rpc_2.0.html
工程目录结构
示例地址:https://gitee.com/enzhouguo/spring-boot-example/tree/master/spring-boot-jsonrpc
.
├── pom.xml |--Maven 依赖配置文件
├── Readme.md |--帮助文档
└── src
└── main
└── java
├── client
│ ├── ApplicationClientConfig.java |--客户端springboot配置类
│ ├── ApplicationClient.java |--客户端启动类
│ ├── ExampleClientAPI.java |--远程调用方法接口
│ ├── ExampleService.java |--客户端业务类
│ └── HelloController.java |--客户端控制器
└── server
├── ApplicationConfig.java |--server端springboot配置类
├── Application.java |--server端启动类
├── ExampleServerAPIImpl.java |--server端业务类
└── ExampleServerAPI.java |--server端业务接口类
操作方法
1.启动server端 端口默认:8080
2.启动客户端,端口默认:8081
3.访问 curl http://localhost:8081/hello
TODO
- 1.支持身份验证
- 2.自动生成API,网页可浏览
参考资料
-
JSONRPC4j:https://github.com/briandilley/jsonrpc4j