• 高可用的Eureka Server(服务注册中心)


    服务同步

    多个Eureka Server之间也会互相注册为服务,当服务提供者注册到Eureka Server集群中的某个节点时,该节点会把 服务的信息同步给集群中的每个节点,从而实现数据同步。因此,无论客户端访问到Eureka Server集群中的任意一 个节点,都可以获取到完整的服务列表信息。

    客户端也需要把信息注册到每个Eureka中


    实现步骤

    1) 配置服务注册中心Eureka的application.yml文件

    server:
      port: ${port:10086}
    spring:
      application:
        name: eureka-server
    eureka:
      client:
        service-url:
          # eureka 服务地址,如果是集群的话;需要指定其它集群eureka地址
          defaultZone: ${defaultZone:http://127.0.0.1:10086/eureka}
        # 不注册自己
        register-with-eureka: true
        # 不拉取服务
        fetch-registry: true
    

    在上述配置文件中的${}表示在jvm启动时候若能找到对应port或者defaultZone参数则使用,若无则使用后面 的默认值.

    所谓的高可用注册中心,其实就是把EurekaServer自己也作为一个服务,注册到其它EurekaServer上,这样多个 EurekaServer之间就能互相发现对方,从而形成集群。也就是下面两行代码

    # 不注册自己
        register-with-eureka: true
        # 不拉取服务
        fetch-registry: true
    

    2) 指定服务注册中心的端口号port和地址defaultZone

    有几个服务注册中心,就有几个启动配置,注意这里的端口号和路径中的端口号是错开的,A服务注册中心的端口号对应B服务注册中心的路径,B服务注册中心的端口号对应A服务注册中心的路径.

    3) 客户端注册服务到集群

    因为EurekaServer不止一个,因此 user-service 项目注册服务或者 consumer-demo 获取服务的时候,service-url参
    数需要修改为如下:

    启动两个服务注册中心后的效果

  • 相关阅读:
    2.GO-可变参数函数、匿名函数和函数变量
    1.Go-copy函数、sort排序、双向链表、list操作和双向循环链表
    第四章、Go-面向“对象”
    第三章、Go-内建容器
    第二章、Go-基础语法
    第一章、Go安装与Goland破解
    arthas使用分享
    redis如何后台启动
    java.io.IOException: Could not locate executable nullinwinutils.exe in the Hadoop binaries
    安装redis出现cc adlist.o /bin/sh:1:cc:not found的解决方法
  • 原文地址:https://www.cnblogs.com/lyd447113735/p/14672401.html
Copyright © 2020-2023  润新知