• Spring Cloud Eureka 5 (服务发现与消费-简单的robbin使用)


    通过上述介绍,我们已经有了服务注册中心和服务提供者

    下面我们来尝试构建一个服务的消费者

    它要完成两个功能,发现服务和消费服务,其中发现服务由eureka客户端完成,消费服务由ribbon完成。

    ribbon在eureka服务发现的基础上,实现了一套对服务实例的选择策略,从而实现对服务的消费。

    在此之前我们需要做一些准备

    启动之前的服务注册中心,为hello-service添加一个简单的接口,同时在创建一个hello-service2的项目并为之添加与hello-service相同的配置

    在hello-service中新建一个HelloController的类

    启动项目测试下接口

     安装此配置创建hello-service2启动项目测试接口

    这里为了区分将返回值写为hello2同时配置文件中的端口改为8081

    至此准备工作完成我们也可以再次看下注册中心的情况

    至此两个hello-service已经注册进来了。

    我们正式开始构建服务的消费者

    新建一个spring boot项目命名为ribbon-consumer

    较之之前的hello-service我们加入了spring-cloud-starter-ribbon依赖

    为服务主类加入@EnableDiscoveryClient注解

    同时在该主类中创建RestTemplate的spring Bean实例并通过@LoadBalanced注解开启客户端的负载均衡

    创建ConsumerController类并实现一个简单的/robbin-consumer的接口

     application.properties做如下配置

    spring.application.name=ribbon-consumer
    server.port=9000
    eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka

     启动项目

     访问测

     

     从测试结果显示ribbon-consumer分别在hello-service和hello-service2两个实例上做轮询访问

    注:

    由于各个服务间会相互调用所以服务的提供者和消费者也是相对的概念。 

  • 相关阅读:
    Kubernetes
    桥接模式
    原型模式
    工厂模式
    生成器模式
    Java-Sentinel限流中间件
    python模拟发送、消费kafka消息
    使用idea搭建springBoot项目
    linux 虚拟机不能启动不了系统,虚拟机更改linux初始启动5,出现无法启动现象
    vwware workstation虚机网络配置NAT
  • 原文地址:https://www.cnblogs.com/HanShisi/p/8320354.html
Copyright © 2020-2023  润新知