• Spring Cloud(Dalston.SR5)--Eureka 注册中心高可用-服务提供和消费


    由于 Eureka 注册中心只是在内存中保存服务注册实例,并且没有将服务注册实例进行同步,因此我们需要对服务提供和消费进行调整,需要指定服务提供和消费的注册、服务发现的具体Eureka 注册中心配置,由于配置了Eureka 注册中心高可用,因此也必须配置多个 Eureka 注册中心。

    服务提供配置

    在之前的服务提供项目中进行改造,我们需要调整 src/main/resources 目录中的 application.yml 配置文件,调整后配置如下:

    #配置应用名称

    spring:

    application:

    name:helloworld-provider

    #服务端口

    server:

    port:8080

    #设置eureka服务注册中心的地址,如果多个以逗号分割

    eureka:

    client:

    service-url:

    #defaultZone表示默认的区域的eureka服务地址,多个使用逗号分割

    defaultZone:http://eurekaserver01:9000/eureka/,http://eurekaserver02:9000/eureka/

    defaultZone 属性中,配置了Eureka 注册中心的多个地址,这表示服务提供者需要向多个 Eureka 注册中心进行注册,为了更好的测试一个服务部署多个位置,我们调整一下 REST 服务代码,如下:

    @RestController

    public class HelloWorldController{

       

    @Value("${server.port}")

    private int port;

       

    @RequestMapping(method=RequestMethod.GET,name="speak")

    public String speak(@RequestParam(value="body",required=false)Stringbody){

    if(body==null||body.equals("")){

    return"helloworldport:"+port;

    }

       

    return"speak"+body+"port:"+port;

    }

    }

       

    服务消费配置

    在之前的服务提供项目中进行改造,我们需要调整 src/main/resources 目录中的 application.yml 配置文件,调整后配置如下:

    #配置应用名称

    spring:

    application:

    name:service-invoker

    #配置服务端口

    server:

    port:8088

    #eureka基本配置

    eureka:

    instance:

    #配置应用名称,优先级低于spring.applicaton.name

    appname:service-invoker

    client:

    #配置服务注册中心地址

    service-url:

    defaultZone:http://eurekaserver01:9000/eureka/,http://eurekaserver02:9000/eureka/

    defaultZone 属性中,配置了Eureka 注册中心的多个地址,这表示服务消费需要向多个 Eureka 注册中心进行注册和发现服务

    测试验证

    • 启动多个服务

      我们在一台机器使用不同端口号来启动多个服务验证,启动多个终端,执行示例如下:

      $> java -jar service-provider-1.0.jar --server.port=8086

      $> java -jar service-provider-1.0.jar --server.port=8080

         

    • 启动服务消费

      直接启动消费项目,并访问 http://localhost:8088/speak ,能够看到具体返回了访问的服务端口号,多刷新几次可以看到分别访问了 8086 8080 端口,表示 Eureka 客户端在请求服务时,通过 Eureka 注册中心发现服务并且使用使用了负载均衡调用

    查看注册中心

    访问地址 http://192.168.2.214:9000http://192.168.2.215:9000 可以看到,DS Replicas 中有另一台Eureka 注册中心,在 instance currently registered with Eureka 中显示了注册的所有服务,其中可以看到 HELLOWORLD-PROVIDER 服务有2个有效的服务

       

  • 相关阅读:
    备忘asp.net core使用中间件实现IP白名单访问
    Unity asp.net 依赖注入框架Unity
    linunx命令学习_文件命令
    Css中的属性选择器
    Html页基础代码
    JSX简介
    Js对象与Json字符串的互转
    React中的函数式组件和类组件
    win文件夹上右键后以xx打开
    Java中的泛型1_泛型的概念
  • 原文地址:https://www.cnblogs.com/li3807/p/8676397.html
Copyright © 2020-2023  润新知