springCloud之Eureka Server集群

来源:互联网 发布:f检验软件 编辑:程序博客网 时间:2024/05/22 03:39

          在线上生产环境中,如果Eureka Server宕机时,某些服务业出现了不可用的情况,Eureka Client中的缓存如不被更新,就可能会影响到微服务的调用,甚至影响到整个应该用系统的高可用行。因此生成环境中通常会部署一个高可用的Eureka Server 集群。

         Eureka Server 可以通过运行多个实例并相互注册的方式实现高可用部署,Eureka Server实例会彼此增量地同步信息,从而确保所有节点数据一致。

        配置系统hosts,windows的hosts文件在System43/drivers/etc/hosts; linux的在/etc/hosts,修改为 127.0.0.1 peer1 peer2

spring:  application:    name: eureka-server2---spring:  profiles: peer1server:  port: 9000eureka:  instance:    hostname: peer1  client:    service-url:      defaultZone: http://peer2:9001/eureka/---spring:  profiles: peer2server:  port: 9001eureka:  instance:    hostname: peer2  client:    service-url:      defaultZone: http://peer1:9000/eureka/

  • 使用mvn打包成jar,分别运行
    java -jar eureka-server2-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
    java -jar eureka-server2-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
  • mvn打包测试和运行的时候都会出现一下错误

  • 这个错误主要是启动第一个的Server的时候向另一个发送心跳的时候,另一个Server还未启动,同时启动成功之后就没有该异常了。之后出现注:微服务即使只配置Eureka Server集群中的某个节点,也能注册到Eureka Server集群,因为多个Eureka Server之间的数据相互同步,但为了防止一些极端的情况,还是配置多个Eureka节点。

  • 为Eureka添加用户认证
    在Eureka Server配置maven依赖及用户密码
    <dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-security</artifactId></dependency>

    security:  basic:    enabled: true # 开启基于HTTP Basic的认证  user:    name: test1    password: 123456
    注:Eureka Server节点url改为http://test2:123456@peer1:9000/eureka/
    点击进入Eureka Server的时候会提示输入用户和密码

    常见问题


  • 保护模式主要用于一组客户端和Eureka Server之间存在网络分区场景下的保护,当客户端没有在一定时间向server进行心跳,就会自动进入保护模式,当心跳正常了也会自动解除。一旦进入保护模式,Eureka Server将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据(也就是不会注销任何微服务)。

  • 原因:Eureka的Server没有启动成功,而在使用@EnableDiscoveryClient或者@EnableEurekaClient之后,该客户端会自动去寻找Eureka Server,如果找不到就会报这个错。
  • Eureka的元数据有两种,分别是标准元数据和自定义元数据。标准元数据包括主机名,IP地址,端口号,状态页,和健康检查等信息,被发布在服务注册表中,用于服务之间的调用。
  • 自定义元数据eureka.instance.metadata-map.key=value (key和value随便写)

  • 参考文章
  • http://blog.csdn.net/zzp448561636/article/details/70198878
  • http://www.roncoo.com/article/detail/128086


原创粉丝点击