• 狂神springcloud速补笔记4


    我们的niginx是在服务器上做负载均衡,我们的ribbon是在客户端做负载均衡,所以这里我们就要在客户端去添加依赖,而且我们不仅要在客户端添加ribbon的依赖,还要去添加eureka的依赖,因为我们要从eureka中拿到我们的服务:

    依赖导入完毕,我们现在来更改配置:

    eureka就配置完了,我们现在可以向三个服务器去获取服务就达到了我们负载均衡的效果了。

    别忘了启动类也要加上注解。

    我们之前在config中配置了restTemplate,我们现在也要再去写上我们负载均衡的配置:

    我们这部分就只需要加上一个注解。

     

    我们原来controller中的服务地址是写死的,我们不应该把它写死,用Ribbon的话应该是写成变量形式。

    就是我们服务中心的服务的名称。

    我们从这里可以看到信息,就代表我们配置没问题了。

     Ribbon 和 Eureka结合以后,客户端可以直接调用,不用关心ip地址和端口号。

     我们现在配置完初步的Ribbon之后,我们现在开始去配置负载均衡。

    我们再去创建两个数据库:

     

    这三个数据库表中只有数据库名称不一样。

     我们现在想对三个数据库做三个提供者。

    我们3个服务的名字一定要是一致的,我们就是依靠这个去寻找的。

    我们现在三个服务都注册到eureka中了。

    我们去启动消费者的查询列表方法:

     

     

     

    我们会发现我们每次去从eureka中调用服务会一次按顺序调用我们的数据库(提供者),这就是我们的轮询算法。轮询机制,这是我们Ribbon负载均衡的内部方法。

    我们会有这么多的应对负载均衡的算法。

     我们默认的是走的是轮询的,我们现在去给它改一下,改成走我们随机的:

     

     

    我们会发现它调用哪个服务,哪个数据库是随机的。 

    我们再写一个我们自己的负载均衡算法:

     

    首先要注意我们的自己的配置类不能和启动类放在同包下,这是官方文档告诉我们的。

     一般情况下,我们不会在我们的这个RestTemplate下去写自己的负载均衡算法:

    我们把我们的之前的随机算法放到我们的自己的类下面。

     

    我们会去在启动类上去表名给哪个服务用哪个算法。

    我们现在来去写我们的自定义负载均衡算法:

     我们先把人家的随机算法类复制粘贴了。

    然后在它的基础上进行修改:

    这是我们的一个需求。

     

    我们要把这部分就行修改。

     

     

     

     

     然后就可以了。

  • 相关阅读:
    C primer plus学习笔记 —— 6、数组和指针
    【图机器学习】图神经网络入门(二)图上的傅里叶变换
    logback源码阅读(三) springboot对LoggingSystem日志系统的支持
    keil 分散加载文件(scatter file)分析
    怎么利用邮件开发客户?
    C#内存管理
    Lora升级!ReLoRa!最新论文 High-Rank Training Through Low-Rank Updates
    电脑提示d3dx9_43.dll丢失怎么解决,分享6种有效的解决方法
    接口自动化入门:Requests请求头设置详解!
    analyzer [ik_max_word] not found for field [title]
  • 原文地址:https://blog.csdn.net/weixin_52618349/article/details/125910701