dubbo官网配置
https://dubbo.apache.org/docs/v2.7/user/references/protocol/rest/
参照:https://mp.weixin.qq.com/s/gJ4L2o8fAXnTTxBdyxMJWA
Dubbo的核心功能主要包含:
1.远程通讯:dubbo-remoting模块, 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
2.集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
3.自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。
调用过程图:
•1.Proxy持有一个Invoker对象,使用Invoker调用
•2.之后通过Cluster进行负载容错,失败重试
•3.调用Directory获取远程服务的Invoker列表
•4.负载均衡
◾用户配置了路由规则,则根据路由规则过滤获取到的Invoker列表
◾用户没有配置路由规则或配置路由后还有很多节点,则使用LoadBalance方法做负载均衡,选用一个可以调用的Invoker
•5.经过一个一个过滤器链,通常是处理上下文、限流、计数等。
•6.会使用Client做数据传输
•7.私有化协议的构造(Codec)
•8.进行序列化
•9.服务端收到这个Request请求,将其分配到ThreadPool中进行处理
•10.Server来处理这些Request
•11.根据请求查找对应的Exporter
•12.之后经过一个服务提供者端的过滤器链
•13.然后找到接口实现并真正的调用,将请求结果返回