Dubbo
RPC,Remote Procedure Call 即远程过程调用
服务消费者
公共jar包,需要知道有哪些接口可以使用
代理类,让消费者只需要调接口,不需要关系具体实现
注册中心,知道有哪些服务的提供方可以调用
负载均衡,因为提供方是集群部署,可以通过某些策略选择一个调用
容错机制,远程调用是不可靠的,服务是否需要重试
协议,通信协议,序列化协议等
服务提供者
-
实现对应接口的逻辑
-
把自己暴露出去,向注册中心注册自己,暴露服务
-
消费者发起请求,提供者需要根据约定好的协议处理这个请求,然后把请求反序列化
-
把序列化之后的请求丢到线程池,某个线程接到请求后找到对应的实现调用,最后把结果原路返回
注册中心
相当于一个平台,大家在上面暴露自己的服务,了解有哪些服务可以调用
也能做配置中心
监控运维
服务的治理中心