今天我们来进行架构探险:从零开始写分布式服务框架,你能学会吗?(13)

分布式服务框架软负载实现

软负载的实现原理

负载均衡的目的是将请求按照某种策略分布到多台机器上 , 使得系统能够实现横向扩展 , 是应用实现可伸缩性的关键技术 , 也是系统能够应对大流量的核心技术之一 。 分布式服务框架中实现负载均衡是通过软件算法来实现的 , 有别于基于硬件设备(如F5)实现负载均衡 , 故称为软负载 。

在分布式服务框架中 , 负载均衡是在服务消费端实现的 , 其实现原理如下 。

◎服务消费端在应用启动之 初从服务注册中心获取服务提供者列表 , 缓存到服务调用端本地缓存 。

◎服务消费端发起服务调用之前 , 先通过某种策略或者算法从服务提供者列表本地缓存中选择本次调用的目标机器 , 再发起服务调用 , 从而完成负载均衡的功能 。

分布式服务框架服务治理

服务治理介绍

在大规模服务化之前 , 系统应用之间的交互可能只是简单地通过WebService、RMI等RPC框架来实现 , 通过手工配置调用端服务地址进行调用 , 通过F5等硬件进行负载均衡 。 但是随着业务的不断演进 , 服务个数越来越多的时候 , 这种做法就遇到了瓶颈 , 因为服务数多本身就是问题 , 量变引发质变 , 服务数多了 , 会导致很多问题 。

推荐阅读