zoukankan      html  css  js  c++  java
  • Eureka的高可用

      我们之前搭建的是一个简单的注册中心,而且这个注册中心是一个单点的,那么我们的系统就会存在一个风险,

    一旦我们这个注册中心故障了,则整个服务都不可用,那我们可以对注册中心进行集群部署,

    这样我们不会担心因为某一台注册中心出现故障,而影响到整个服务.也就实现了注册中心的高可用。

    分布式和集群这两个概念:

    • 分布式:一个业务分拆多个子业务,部署在不同的服务器上
    • 集群:同一个业务,分别部署在不同的服务器上

    搭建的步骤 

    由上面的思路,我们知道,端口为8001需要挂上端口为8002和端口为8003,所以在端口为8001的配置文件中需要重新配置一下defaultZone,如下:

    OK,defaultZone 配置好了端口为8002和 端口为8003。

    spring.application.name=spring-cloud-eureka-server
    server.port =8001
    eureka.instance.hostname =eurekaServer8001
    #设置是否将自己作为客户端注册到注册中心(缺省true)
    #这里为不需要,查看@EnableEurekaServer注解的源码,会发现它间接用到了@EnableDiscoveryClient
    eureka.client.register-with-eureka=false
    #设置是否从注册中心获取注册信息,默认值为true
    #因为这是一个单点的EurakaServer,不需要同步其他EurekaServer节点的数据,故设置为false
    eureka.client.fetch-registry=false
    # 实际测试:若修改尾部的eureka为其它的,比如/myeureka,注册中心启动没问题,但服务端在注册时会失败
    # 报告异常:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
    eureka.client.serviceUrl.defaultZone =http://eurekaServer8002:8002/eureka/,http://eurekaServer8003:8003/eureka/

    安装上面方法,依次搭建端口为8002和端口为8003

    端口为8002的配置文件:

    spring.application.name=spring-cloud-eureka-server
    server.port =8002
    eureka.instance.hostname =eurekaServer8002
    #设置是否将自己作为客户端注册到注册中心(缺省true)
    #这里为不需要,查看@EnableEurekaServer注解的源码,会发现它间接用到了@EnableDiscoveryClient
    eureka.client.register-with-eureka=false
    #设置是否从注册中心获取注册信息,默认值为true
    #因为这是一个单点的EurakaServer,不需要同步其他EurekaServer节点的数据,故设置为false
    eureka.client.fetch-registry=false
    # 实际测试:若修改尾部的eureka为其它的,比如/myeureka,注册中心启动没问题,但服务端在注册时会失败
    # 报告异常:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
    eureka.client.serviceUrl.defaultZone =http://eurekaServer8001:8001/eureka/,http://eurekaServer8003:8003/eureka/

    端口为8003的配置文件:

    spring.application.name=spring-cloud-eureka-server
    server.port =8003
    eureka.instance.hostname =eurekaServer8003
    #设置是否将自己作为客户端注册到注册中心(缺省true)
    #这里为不需要,查看@EnableEurekaServer注解的源码,会发现它间接用到了@EnableDiscoveryClient
    eureka.client.register-with-eureka=false
    #设置是否从注册中心获取注册信息,默认值为true
    #因为这是一个单点的EurakaServer,不需要同步其他EurekaServer节点的数据,故设置为false
    eureka.client.fetch-registry=false
    # 实际测试:若修改尾部的eureka为其它的,比如/myeureka,注册中心启动没问题,但服务端在注册时会失败
    # 报告异常:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
    eureka.client.serviceUrl.defaultZone =http://eurekaServer8001:8001/eureka/,http://eurekaServer8002:8002/eureka/

    修改服务的提供者HelloService项目的配置文件:

    # 指定服务注册中心的地址                   
    eureka.client.serviceUrl.defaultZone=http://eurekaServer8001:8001/eureka/,
    http://eurekaServer8002:8002/eureka/,http://eurekaServer8003:8003/eureka/

    测试

    然后浏览器地址栏输入:http://eurekaServer8001:8001/

  • 相关阅读:
    sqlserver内存释放
    Windows任务管理器中内存使用、虚拟内存区别及与页面文件的关系
    GetMessage
    String.Format(string, arg0)中sring格式
    C#基础--之数据类型
    C# Socket
    C# 对象 序列化 XML
    C# Monitoring-network
    Nginx 网址
    WinSCP 连接 Ubuntu 拒绝的问题
  • 原文地址:https://www.cnblogs.com/64Byte/p/13281090.html
Copyright © 2011-2022 走看看