组件:
1.Provider: 暴露服务的服务提供方。
2.Consumer: 调用远程服务的服务消费方。
3.Registry: 服务注册与发现的注册中心。
4.Monitor: 统计服务的调用次调和调用时间的监控中心。
5.Container: 服务运行容器,常见的容器有Spring容器。
调用关系
0.服务容器负责启动,加载,运行服务提供者。
1.服务提供者在启动时,向注册中心注册自己提供的服务。
2.服务消费者在启动时,向注册中心订阅自己所需的服务。
3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接【推送】变更数据给消费者。
4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心Monitor。
简要回答
1.容器–》启动,加载,运行提供者
2.提供者-》注册
3.消费者-》订阅
4.注册中心-》给消费者提供者的列表,为消费者推送更新
5.消费者调用提供者,根据软负载均衡
6.提供者和消费者定时发消息监控中心。
小结:
1:dubbo 远程调用框架 RPC, alibaba>apache(2019 2020)
2:dubbo架构
- 成员 注册中心, 服务提供者, 消费者, 监控中心
- 工作流程: 启动时服务提供与消费者都注册到注册中心,消费监听注 册中心中的服务,消费者获得提供者列表,提供者发生变化时会通知消费者更新列表,调用提供者。调用的过程信息每间隔一段时间就发送给监控中心记录下来
什么是长连接和短连接?