官网
在这里插入图片描述
1)服务容器负责启动,加载,运行服务提供者。
2)服务提供者在启动时,向注册中心注册自己提供的服务。
3)服务消费者在启动时,向注册中心订阅自己所需的服务。
4)注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
5)服务消费者从提供者地址列表中,基于软负载均衡算法选一台提供者进行调用,如果调用失败再选另一台调用。
6)服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

在这里插入图片描述

核心部件:

  1. Remoting: 网络通信框架,实现了 sync over async(异步中同步) 和 request-response 消息机制.
  2. RPC: 远程过程调用,支持负载均衡、容灾和集群功能
  3. Registry: 服务目录框架用于服务的注册和服务事件发布和订阅

Provider 暴露服务的服务提供方
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次数和调用时间的监控中心
Container 服务运行容器

Dubbo 和 Spring Cloud 有什么区别?

Dubbocloud
通信方式RPC(九种协议)利用存根)http restFul
组成部分注册中心zk服务监控dubbo-monitorspring cloud的组件非常多

dubbo协议

dubbo协议 默认使用 Hessian2 序列化。(说明:Hessian2 是阿里在 Hessian 基础上进行的二次开发,起名为Hessian2 )
rmi协议 默认为 java 原生序列化;
http 协议 默认为 为 json ;
hessian 协议,默认是 hessian 序列化;
webservice 协议,默认是 soap 文本序列化 ;

总结

  • 面向接口的远程方法调用
  • 负载均衡
  • 自动注册和发现
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐