zoukankan      html  css  js  c++  java
  • springcloud实现微服务服务注册、负载均衡

    1)通过eureka技术实现服务注册、服务发现

      本案例的项目结构

      1.引入eureka起步依赖(父pom默认起步依赖版本1.5.3.RELEASE,由于在maven私库中没有对应依赖,我们这里采用1.4.4.RELEASE)

      2.application.yml中分别加入客户端、服务端配置

    客户端配置

    服务端配置

      3.在对应的启动类上加上对应服务端、客户端注解

      4.启动服务,登录服务端地址,可以看到对应客户端已经注册到服务端了

    以上是服务注册的部分

    由于在实际环境中可能出现很多服务,所以要对服务端做集群处理,以下是集群配置

      首先配置两个服务端配置yml文件

     

    比如客户端client向peer1进行注册,同时在peer2中也能看到相关服务,简单的集群配置

    2)通过ribbon技术实现负载均衡

    按照惯例,引入起步依赖

      1.新建一个RibbonConfig配置文件,引入RestTemplate Bean,并且在Bean上加上负载均衡注解

      2.通过RestTemplate的getForObject方法平衡消费生产者客户端接口

      这里的url是在客户端中配置的客户端名称(eureka-client)+对应接口名(/erueka/init)

      生产者接口具体实现

    访问效果:

    第一次访问:

    第二次访问:

    可以看到消费者循环消费两个生产者客户端接口

     

    以上就是服务注册和负载均衡的小demo

    总结一下

      1.微服务中的服务需要进行服务注册,统一管理

      2.由于可能存在很多个微服务,所以需要对服务端做集群配置

      3.客户端中同一个接口可能会被多次消费,所以需要做负载均衡(ribbon)

      4.ribbon中的负载均衡是通过LoadBanlancerClient来调控的,服务注册的时候会从Eureka Client的服务注册列表中获取服务的信息,类似stores.ribbon.listOfServers:server1,server2,如果在服务中配置ribbon.eureka.enabled=false

    则无法从Eureka Client的服务注册列表中获取服务信息。

    end

      

      

  • 相关阅读:
    团队项目的NABC(截图软件)
    《梦断代码》读后感_3
    《梦断代码》读后感_2
    毕设今日总结(二)
    毕业设计今日总结(一)
    QT中文乱码解决方法
    课堂练习——最大联通之数组
    《浪潮之巅》读书笔记3
    《浪潮之巅》读书笔记2
    《浪潮之巅》读书笔记1
  • 原文地址:https://www.cnblogs.com/qiuhx/p/10488108.html
Copyright © 2011-2022 走看看