一、系统架构演变
1.单一应用架构:
将所有功能都部署到一个应用上,减少增加节点的成本;但是功能增多,网站流量变大时,服务器承受不了,速度变慢。
2.垂直应用架构:
将不相关的功能分布在不同的应用上,提高效率,加快开发速度。
3.分布式架构:
当垂直应用越来越多时,可能会产生数据的交互,所以讲主要的服务单拿出来构建服务中心
4.流式架构:
通过调度中心实时管理服务器集群,提高机器的利用率。
二、分布式服务架构--Dubbo
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次数和调用时间的监控中心。
调用流程 :
0.服务容器负责启动,加载,运行服务提供者。
1.服务提供者在启动时,向注册中心注册自己提供的服务。
2.服务消费者在启动时,向注册中心订阅自己所需的服务。
3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心