Spring-Cloud-Netflix-Eureka集群搭建

TOC

eureka集群原理

  1. 服务启动后向Eureka注册,Eureka Server会将注册信息向其他Eureka Server进行同步,
  2. 当服务消费者要调用服务提供者,则向服务注册中心获取服务提供者地址,然后会将服务提供者地址缓存在本地,
  3. 下次再调用时,则直接从本地缓存中取,完成一次调用。

搭建流程

  1. 修改host文件 C:\Windows\System32\drivers\etc\host 把只读属性去掉 在这里插入图片描述
  2. 添加host 信息 在这里插入图片描述
127.0.0.1   eureka
127.0.0.1   eureka1
127.0.0.1   eureka2
  1. 新建两个子模块Eureka3001,Eureka3002 在这里插入图片描述 在这里插入图片描述
  2. 配置和Eureka3000一样 (pom.xml,启动类) 在这里插入图片描述
  3. 修改Eureka3000的yml配置文件 在这里插入图片描述
server:
  port: 3000
spring:
  application:
    name: eurekaServer  
eureka:
  server:
    enable-self-preservation: false  #关闭自我保护机制
    eviction-interval-timer-in-ms: 4000 #设置清理间隔(单位:毫秒 默认是60*1000)
  instance:
    hostname: eureka

  client:
    registerWithEureka: true #不把自己作为一个客户端注册到自己身上
    fetchRegistry: true  #不需要从服务端获取注册信息(因为在这里自己就是服务端,而且已经禁用自己注册了)
    serviceUrl: #微服务要注册到的地址.
      defaultZone: http://eureka1:3001/eureka,http://eureka2:3002/eureka,


  1. 复制一份application.yml到Eureka3001,Eureka3002 在这里插入图片描述 在这里插入图片描述
  2. 依次启动Eureka3000,Eureka3001,Eureka3002 启动Eureka3000,Eureka3001可能会报错,因为三个服务相互依赖,只要三个服务全部启动完成就行了 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述
  3. 将user,goods,goods1客户端注册到server中心 1.打开user的application.yml 在这里插入图片描述
server:
  port: 5000
eureka:
  client:
    serviceUrl:
      #eureka服务端提供的注册地址 参考服务端配置的这个路径
      defaultZone: http://eureka:3000/eureka,http://eureka1:3001/eureka,http://eureka2:3002/eureka
  instance:
    instance-id: user-1 #此实例注册到eureka服务端的唯一的实例ID
    prefer-ip-address: true #是否显示IP地址
    #eureka客户需要多长时间发送心跳给eureka服务器,表明它仍然活着,默认为30 秒 (与下面配置的单位都是秒)
    leaseRenewalIntervalInSeconds: 10
    #Eureka服务器在接收到实例的最后一次发出的心跳后,需要等待多久才可以将此实例删除,默认为90秒
    leaseExpirationDurationInSeconds: 30

spring:
  application:
    name: client-user #此实例注册到eureka服务端的n

注意启动类注解在这里插入图片描述 goods,goods1 在这里插入图片描述 在这里插入图片描述 9. 访问localhost:3000 在这里插入图片描述 完成

猜你喜欢

转载自www.cnblogs.com/joker-dj/p/12661474.html