Dubbo是什么
一款分布式服务框架
高性能和透明化的RPC远程服务调用方案
SOA服务治理方案
Dubbo主要是用于提高机器利用率的 资源调度和治理中心(SOA)。简单的说,dubbo是一个调度中心来解决众多小服务浪费资源问题,以此提高集群的利用率。
Dubbo架构调用流程
0.服务容器负责启动,加载,运行服务提供者。
1.服务提供者在启动时,向注册中心注册自己提供的服务。
2.服务消费者在启动时,向注册中心订阅自己所需的服务。
3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心
dubbo注册中心
dubbo注册中心是Dubbo实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储Dubbo发布的服务信息。简单的说就是服务的注册和发布,Dubbo在服务发布初始化的时候会将服务相关的信息向注册中心注册。dubbo提供了多种注册中心组件的客户端接入实现。其中有
Multicast注册中心
Zookeeper注册中心
Redis注册中心
Simple注册中心
但最流行的是zookeeper的接入。所以现在可以看出
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。
它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
综上所诉,dubbo发布服务,然后到注册中心组件zookeeper注册,这样服务消费者才可以知道提供者的地址列表,然后选择一个消费。