服务路由、负载均衡和服务配置中心的基本概念
摘要:浅谈服务路由、负载均衡和服务配置中心的基本概念。
SOA:公共的业务被拆分出来,形成可共用的服务,最大程度地保障代码和逻辑的复用,避免重复造轮子,这种设计称为SOA(面向服务架构)。
路由:SOA架构中,服务消费者通过服务名称,在众多服务中心找到要调用的服务的地址列表,称为服务的路由。
负载均衡:对于负载高的服务,一般有多台服务器组成的集群,当请求到来时,为了将请求均衡的分配到后端服务器,负载均衡程序将从服务对应的地址列表中,通过相应的负载均衡算法和法则,选取一台服务器进行访问,这个过程称为服务的负载均衡。
当负载较小时,可以依赖硬件负载均衡设备,或者使用nginx等软件方案进行调度。一旦服务规模越来越大,这些方案都会逐渐出现瓶颈,单点故障的问题也越来越明显。
服务配置中心:当服务越来越多,规模变大,单靠人工管理或简单维护配置已经不能满足,并且单一软硬件负载调度的单点故障问题凸显,因此需要一个能动态注册和获取服务信息的地方,来统一管理服务名称和其对应的服务器列表信息,这个就是服务配置中心。例如Spring Cloud Config和Apollo。
-->服务配置中心工作原理
- 服务提供者启动时,将提供的服务名称、服务器地址注册到服务配置中心;
- 服务消费者通过服务配置中心来获取需要调度的服务机器列表;
- 通过负载均衡算法之后,选取一台服务器调用;
- 当服务器宕机或下线,相应的机器动态从服务配置中心移除,并通知相应的服务消费者;
- 服务消费者一次访问服务配置中心之后,会将查询到的信息缓存到本地,后面调用先查缓存,从而降低服务配置中心压力。
读后有收获,小礼物走一走,请作者喝咖啡。
Buy me a coffee. ☕Get red packets.
作者:楼兰胡杨
本文版权归作者和博客园共有,欢迎转载,但请注明原文链接,并保留此段声明,否则保留追究法律责任的权利。