美文网首页编程杂货铺
spring cloud 搭建集群Eureka Server

spring cloud 搭建集群Eureka Server

作者: 会动的木头疙瘩儿 | 来源:发表于2018-07-20 15:06 被阅读15次

    创建Eureka Server

    项目名叫eureka-server,并在下面添加两个profile文件 peer1和peer2
    目录结构如下:


    a1.png

    peer1内容

    spring:
      profiles: peer1
    server:
      port: 8761
    eureka:
      instance:
        hostname: peer1
      client:
        service-url: 
           defaultZone: http://peer2:8762/eureka/
        register-with-eureka: false
        fetch-registry: false
    

    peer2内容

    spring:
      profiles: peer2
    server:
      port: 8762
    eureka:
      instance:
        hostname: peer2
      client:
        service-url: 
          defaultZone: http://peer1:8761/eureka/
        register-with-eureka: false
        fetch-registry: false
    

    请注意,每一个EurekaServer同时也都是EurekaClient,所以peer1中的service-url指向的是peer2,向相同实例同步注册表信息,service-url中的peer1和peer2在生产环境应该是真实的IP。

    配置本机的etc/hosts文件

    本地开发测试的话,需要在etc/hosts文件中添加:

    127.0.0.1 peer1
    127.0.0.1 peer2
    

    启动在IDEA中启动两的EurekaServer的话,首先看如何一个工程启动多个实例,请看这篇文章:https://blog.csdn.net/forezp/article/details/76408139
    其次可以在application.properties中添加spring.profiles.active=peer1启动第一个实例,再修改为spring.profiles.active=peer2启动第二个实例
    第二种启动方式是,用maven打包之后在target目录中打到jar文件用命令启动:

    java -jar eureka-server.jar -- spring.profiles.active=peer1
    java -jar eureka-server.jar -- spring.profiles.active=peer2
    

    访问 http://peer1:8761http://peer2:8762/

    创建一个Eureka Client注册服务

    配置文件:

    eureka:
      client:
        service-url:
          defaultZone: http://peer1:8761/eureka/
    server:
      port: 8763
    spring:
      application:
        name: eureka-client
    

    启动eureka-client后,再看
    http://peer1:8761

    a5.png

    http://peer2:8762/

    a6.png

    Eureka Client只向peer1提供了注册而peer2也被同步了注册表

    demo地址:https://github.com/liangxiaobo/SpringCloudEurekaServerDemo

    喜欢的朋友请赞赏支持一下

    相关文章

      网友评论

        本文标题:spring cloud 搭建集群Eureka Server

        本文链接:https://www.haomeiwen.com/subject/iogfmftx.html