Spring-Cloud-Netflix-Eureka集群搭建

2023-11-27 13:20:32 浏览数 (3)

Spring-Cloud-Netflix-Eureka集群搭建

eureka集群原理

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

搭建流程

  1. 修改host文件 C:WindowsSystem32driversetchost 把只读属性去掉
  1. 添加host 信息
代码语言:javascript复制
127.0.0.1   eureka
127.0.0.1   eureka1
127.0.0.1   eureka2
  1. 新建两个子模块Eureka3001,Eureka3002
  1. 配置和Eureka3000一样 (pom.xml,启动类)
  1. 修改Eureka3000的yml配置文件
代码语言:javascript复制
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
  1. 依次启动Eureka3000,Eureka3001,Eureka3002 启动Eureka3000,Eureka3001可能会报错,因为三个服务相互依赖,只要三个服务全部启动完成就行了
  1. 将user,goods,goods1客户端注册到server中心 1.打开user的application.yml
代码语言:javascript复制
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

完成

0 人点赞