一.开源分布式服务框架
1.Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以Spring框架无缝集成。
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:①面向接口的远程方法调用;②智能容错和负载均衡;③服务自动注册和发现。
2.结构图
节点角色说明:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次数和调用时间的监控中心。
Container: 服务运行容器。
调用关系说明
0服务容器负责启动,加载,运行服务提供者provider。
1服务提供者provider在启动时,(通过连接服务器的client)向注册中心注册自己可以提供的服务。(其实就是注册一些provider自己的ip:port以及对自己提供的服务的描述,比如能干什么!)
2服务消费者consumer在启动时,向注册中心订阅自己所需的服务。并注册自己的ip:port等信息。
3注册中心返回服务提供者provider地址列表给消费者consumer,如果有变更,注册中心将基于长连接推送变更数据给消费者consumer。
4服务消费