一、Dubbo是什么? Dubbo是阿里巴巴开源的基于Java的高性能RPC(一种远程调用)分布式服务框架(SOA),致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 专栏SpringCloud微服务架构项目实战作者:软件架构33。9币42人已购查看 二、为什么要用Dubbo? 因为是阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验。Dubbo内部使用了Netty、Zookeeper,保证了高性能高可用性。 使用Dubbo可以将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,可用于提高业务复用和灵活扩展,使前端应用能更快速的响应多变的市场需求。 另外,分布式架构可以承受更大规模的并发流量。专栏Kafkav2。3快速入门与实践作者:软件架构33。9币53人已购查看 三、Dubbo技术架构 dubbo服务注册与发现的流程图: 节点角色说明: dubbo服务注册和发现过程:启动容器,加载,运行服务提供者。服务提供者在启动时,在注册中心发布注册自己提供的服务。服务消费者在启动时,在注册中心订阅自己所需的服务。专栏Elasticsearch7。x从入门到精通作者:软件架构33。9币112人已购查看 如果考虑失败或变更的情况,就需要考虑下面的过程:注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。