简单了解一下LB(Load Balance)

  • Post author:
  • Post category:其他




什么是LB(Load Balance)

LB,即负载均衡(Load Balance),在微服务或分布式集群中经常用的一种应用。
负载均衡简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA(高可用)。
常见的负载均衡有软件Nginx,LVS,硬件 F5等。



1)集中式LB

即在服务的消费方和提供方之间使用独立的LB设施(可以是硬件,如F5, 也可以是软件,如nginx),
 由该设施负责把访问请求通过某种策略转发至服务的提供方



2)进程内LB

将LB逻辑集成到消费方,消费方从服务注册中心获知有哪些地址可用,
然后自己再从这些地址中选择出一个合适的服务器。



Ribbon本地负载均衡和Nginx服务器端负载均衡的区别?

一、Ribbon本地负载均衡,在调用微服务接口时候,
会在注册中心上获取信息服务列表之后缓存到jvm本地,从而在本地实现RPC远程服务调用技术。

二、Nginx是在服务器端实现LB,客户端所有的请求都会交给Nginx,
然后由Nginx实现转发请求。即LB由服务器端实现。



什么是 Feign 负载均衡

Feign是一个声明式WebService客户端。能让编写Web Service客户端更加简单。
使得编写Web服务客户端变得非常容易,只需要创建一个接口,然后在上面添加注解即可。同时也支持JAX-RS标准的注解。
Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。
Feign可以与Eureka和Ribbon组合使用以支持负载均衡。
feign是做远程调用的,ribbon是做负载均衡的。



版权声明:本文为YuanJAnt原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。