zoukankan      html  css  js  c++  java
  • SpringCloud从入门到进阶(四)——生产环境下Eureka的完全分布式部署

    内容

      由于前两节的内容我们知道,开启了preferIpAddress后,Eureka的伪分布式部署会提示replica不可用。这一节我们讲解如何在生产环境下部署完全分布式的Eureka集群,确保开启了preferIpAddress后replica的可用性。

    版本

      IDE:IDEA 2017.2.2 x64

      JDK:1.8.0_171

      manve:3.3.3

      SpringBoot:1.5.9.RELEASE

      SpringCloud:Dalston.SR1

    适合人群

      Java开发人员

    节点信息:

      节点A的IP为:172.26.125.118

      节点B的IP为:172.26.125.114

      节点C的IP为:172.26.125.115

    说明

      转载请说明出处:SpringCloud从入门到进阶(四)——生产环境下Eureka的完全分布式部署

      三台服务器都需要安装好JDK,可以参考:Linux入门实践笔记(一)——安装JDK与运行jar包

    步骤

      Eureka的完全分布式部署与伪分布式部署大同小异,只是yaml配置文件和启动方式不同。项目结构、pom.xml文件、主启动类的配置,以及项目打包、部署的操作都几乎一样,请参考SpringCloud从入门到进阶(二)——注册中心Eureka的伪分布式部署

    yaml

      在单台主机进行伪分布式部署时,三个Eureka实例的端口号是不同的。但是完全分布式部署是在不同的主机中运行不同的Eureka实例,端口号保持一致便于管理。同时实例的名称要能体现主机的信息。此外,由于开启了preferIpAddress,在配置service-url的时候需要使用ip地址,而不是域名。

    #将公共部分提取出来,比如端口号、实例名等配置
    spring:
      application:
       name: application-eurekaserver
    server:
      port: 7001
    eureka:
      instance:
        #要求Client通过ip的方式进行注册
       prefer-ip-address: true
      client:
       register-with-eureka: true
       fetch-registry: true
    #actuator
    management:
      #配置了Actuator对外暴露REST API接口的端口号,如果不指定,端口为应用程序的启动端口,这样做的目的是将程序端口和程序的监控端口分开。
      port: 7101
      #Actuator 采取非安全验证方式,l.5x 版本默认开启了 Actuator 的安全验证。•
      security:
       enabled: false
    ---
    spring:
      profiles: peer1
    eureka:
      instance:
       instance-id: springcloud-eurekaserver-A8-118
      client:
       service-url:
         defaultZone: http://172.26.125.114:7001/eureka,http://172.26.125.115:7001/eureka
    ---
    spring:
      profiles: peer2
    eureka:
      instance:
       instance-id: springcloud-eurekaserver-A6-114
      client:
       service-url:
         defaultZone: http://172.26.125.118:7001/eureka,http://172.26.125.115:7001/eureka
    ---
    spring:
      profiles: peer3
    eureka:
      instance:
       instance-id: springcloud-eurekaserver-A2-115
      client:
       service-url:
         defaultZone: http://172.26.125.118:7001/eureka,http://172.26.125.114:7001/eureka

      在github上查看配置文件

    启动与测试

      在启动时,通过JVM参数-Dspring.profiles.active选择项目启动的profiles。此处还设定了虚拟机堆空间的最小值为512mb,堆空间的最大值为1024mb。

    #请根据你的机器配置设置合适的堆空间参数。
    #在节点A上运行
    [ServerA@172.26.125.118 jars]$ java -Xms512m -Xmx1024m -Dspring.profiles.active=peer1 -jar eurekaserver-1.0-SNAPSHOT.jar &
    #在节点B上运行
    [ServerB@172.26.125.114 jars]$ java  -Xms512m -Xmx1024m -Dspring.profiles.active=peer2  -jar eureka-server-7001-7002-1.0-SNAPSHOT.jar  
    #在节点C上运行
    [ServerC@172.26.125.115 jars]$ java  -Xms512m -Xmx1024m -Dspring.profiles.active=peer3  -jar eureka-server-7001-7002-1.0-SNAPSHOT.jar  

    验证

      确保本地能访问到这三台eureka服务器,访问http://172.26.125.118:7001/

    1541844454878

      访问http://172.26.125.114:7001/

    1541845335259

      访问http://172.26.125.115:7001/

    1541845356430

      可见,所有replica的状态均可用。

  • 相关阅读:
    多项式多点求值和插值
    Java Dao设计模式
    (转)HTTP长连接和短连接
    JavaScript——this关键字
    JavaScript——Prototype详探
    JavaScript——特殊点总结
    JavaScript——正则表达式
    JavaScript——Window对象
    JavaScript——this、constructor、prototype
    JavaScript——事件模型
  • 原文地址:https://www.cnblogs.com/lonelyJay/p/9940211.html
Copyright © 2011-2022 走看看