• nginx和feign负载均衡并不冲突


    负载均衡算法写在哪里
    1、nginx负载是服务端的负载;ribbion的负载,是代码中微服务的负载(客户端负载);这两个负载并不冲突。

    2、服务端负载:用户请求到了nginx以后,nginx负载决定把请求转发到哪台服务器;
    (负载的列表是存在nginx服务端的,所以叫服务端负载)

    3、客户端负载:ribbon是集成在服务消费端,他的负载是,首先去注册中心获取到可以提供服务的列表,把这个服务列表缓存到本地,然后自己决定去调用哪一个服务;(这里列表是存在(注册中心客户端),所以一般称为客户端负载)(所以在微服务中,如果注册中心运行期间宕机,短时间之内并不影响服务消费者向服务生产者的调用。只是不能获取到及时更新的服务里边,如果其中一个服务挂掉,消费端并不能收到消息,所以长时间后会影响性能)

    4、nginx服务端负载,和ribbion的客户端负载,并不冲突。再时间生产环境中,一般都是两者共存。用户的请求进来以后,先经过nginx服务端负载,然后再进入微服务网关,执行ribbion的客户端负载;

    5、nginx的负载均衡算法需要在nginx.cnf的配置文件的upstream标签里边配置;(轮循、权重、ip_hash)

    6、ribbion的负载均衡算法需要在集成ribbion的客户端微服务里边配置,增加配置类,在实例化ResTTemplate时配置负载方式;我们项目中,还是用feign做消费端调用比较多,他底层就是集成了ribbion。自己封装成了类似rpc方式的调用。默认用的是轮循,如果需要修改,首先启动类里边实例化一个IRule,实例化他的不同接口,就可以实现不同的负载算法(7种)

  • 相关阅读:
    Matplotlib 可视化50图:散点图(1)
    振弦式渗压计与振弦采集仪组成大坝水库安全监测的案例
    WINDOWS与LINUX的文件文件共享
    C/C++陷阱——临时变量的产生和特性
    妈妈的爱,从口腔微生物开始
    4、FFmpeg命令行操作7
    vue3 + view-ui-plus + js 项目 升级
    Anaconda 踩过的一些坑
    C语言-文件操作(最全)(二十一)
    数据结构——链表
  • 原文地址:https://blog.csdn.net/weixin_66568937/article/details/139262001