zoukankan      html  css  js  c++  java
  • 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_06-Feign远程调用-Ribbon测试


    2.1.2 Ribbon测试
    Spring Cloud引入Ribbon配合 restTemplate 实现客户端负载均衡。Java中远程调用的技术有很多,如:
    webservice、socket、rmi、Apache HttpClient、OkHttp等,互联网项目使用基于http的客户端较多,本项目使
    用OkHttp。



    现在要实现课程去服务去调用cms服务。调用放course服务就是客户端

    在course服务里面 采用客户端负载均衡的方式来调用cms。

    首先加入ribbon的包和okhttp的引用

    ribbon要发起http的远程调用。

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring‐cloud‐starter‐ribbon</artifactId>
    </dependency>
    <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
    </dependency>

    引入后刷新包

    配置ribbon请求的参数

    cms启动多个实例

    主要端口的环境变量


    首先启动cms

    然后再关闭,这里就有了cms的applicaiton了

    复制一个


    改个名字 配置上环境变量

    点击右下角的Apply

    把cms01拖进来到xc_edu的文件夹







    也拖进来。这样这两个启动脚本就做好了。

    启动一个eureka01。然后启动cms01

    启动cms02

    远程调用

    curse服务启动类里面定义 一个Bean restTemplate方法返回RestTemplate。这样restTemplate在其他类里面就可以用@Autowired注入


    新建测试类。复制上面的TestDao类


    这是eureka中的服务列表。



    定义serviceId就是 eureka中注册的服务名






    ribbon还布局负载均衡的功能,要想让他具备负载均衡 就必须在RestTemplate上注解。开启负载均衡

    启动服务测试,这样就拿到了数据

    负载均衡的测试

    添加@LoadBalanced注解后,restTemplate会走LoadBalancerInterceptor拦截器,此拦截器中会通过
    RibbonLoadBalancerClient查询服务地址,可以在此类打断点观察每次调用的服务地址和端口,两个cms服务会轮
    流被调用。

    循环10次调用



    第一次的地址

    第二次的地址

    这就是轮询的负载均衡



     

  • 相关阅读:
    windows下 安装 rabbitMQ 及操作常用命令
    C#中关于DataGridView行和列的背景色-前景色设置
    使用Linq判断DataTable数据是否重复
    C#用mouse_event模拟鼠标点击的问题
    ApartmentState.STA
    使用WebBrowser,内存一直增加的解决办法
    HOT SUMMER 每天都是不一样,积极的去感受生活 C#关闭IE相应的窗口 .
    您访问的URL地址不被允许。
    CMSIS-DAP for STLink V2.1 and STLink v2.1 mini adapter
    DG449 High Voltage Single SPDT Analog Switch in SOT23-8
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11664420.html
Copyright © 2011-2022 走看看