Java RPC技术
node通过dubbo2.js调用java dubbo服务(rpc)
Thrift
Thrift入门 介绍IDL,Thrift传输 & 协议
Thrift不同服务类型的使用探索 对Thrfit不同的服务类型进行整理,并结合代码示例进行说明。还包括Nifty服务类型Facebook还开源了Nifty -- 一种基于netty的thrift服务端和客户端实现。
使用Thrift来实现跨语言的方法调用 演示python/C++跨语言调用
根据Java生成IDL thrift/swift:对swift2thrift-generator-cli IDL生成工具的改进
需求:
系统有WEB端、PC客户端、服务端(微服务架构)组成,WEB端和客户端(跨平台)功能有部分重合,共用一套微服务。Client要求必需使用RPC调用服务,WEB要求使用HTTP调用服务。
实现方案
为提高开发效率,WEB采用Vue开发,Client使用Electron打包。前端采用Thrift与微服务通讯。
服务端使用Dubbo框架实现RPC服务,同时支持HTTP调用。
系统交互架构
B/S: WEB→API Gateway(HTTP)→Mircor Service
C /S:Client(拦截WEB端HTTP请求转为RPC请求)→Thrift服务端()→Micro Service
JavaRPC资料
参考资料:
Java SPI(Service Provider Interface)
参考资料
1)Electron+Vue+Thrift实现PC客户端开发
在Dubbo中开发REST风格的远程调用(RESTful Remoting)
4) Electron官网 支持跨平台
问题及处理
1、上下文处理
详解如何自定义Dubbo Filter(含dubbo2.7.X及以上版本和2.6.X及以下版本两种写法)
2、切面
3、在线文档
4、传递用户信息
解决方案
微服务最佳实践,零改造实现 Spring Cloud & Apache Dubbo 互通
文档
https://cn.dubbo.apache.org/zh-cn/overview/quickstart/
Thrift及RPC调用过程介绍
Thrift协议栈