欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

eureka服务搭建

程序员文章站 2022-07-11 10:40:23
Server端 引入eureka server的maven依赖 引入依赖时无需给定eureka的版本号,maven会根据当前使用的SpringCloud版本来判断应该引入哪个版本的euraka server依赖 启动类及yml相关配置 service-url的值要配置给defaultZone属性 r ......

server端

引入eureka server的maven依赖

 引入依赖时无需给定eureka的版本号,maven会根据当前使用的springcloud版本来判断应该引入哪个版本的euraka server依赖 

eureka服务搭建

<dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-starter-netflix-eureka-server</artifactid>
</dependency>

 

启动类及yml相关配置

  1. 启动类上加@enableeurekaserver注解
  2. yml中配置service-url、register-with-eureka: false、enable-self-preservation: false、服务名称、port
    • service-url的值要配置给defaultzone属性
    • register-with-eureka: false是为了不注册服务端本身,因为该server本身就是注册中心的服务,注册自身是没有意义的(eureka高可用时例外)
    • enable-self-preservation: false是为了关闭eureka的保护机制(只有在测试环境不断重启client的情况下才可以关闭该机制,生产环境一定要打开该机制),为了避免某些注册到eureka server的服务不断重启导致在线率降低,但是还存在于eureka中(该机制原理:当某些注册到eureka server的客户端由于某些原因导致在线率不达标时,eureka就会警告提示,与此同时,eureka会将这些在线率低的服务当作还存活的服务,所以当某些服务真的挂掉之后,eureka上面时还会存在这些服务的url的,这是eureka的一种保护机制,为了避免调用服务的消费者能及时发现某些服务已经不可用,所以我们在实际使用中将这种机制关掉,默认是true,这里改成false)
    • spring.application.name属性配置的服务名是服务部署后访问的名称,例如:该服务配置的spring.application.name值为eureka,访问时通过http://localhost:8761/eureka/访问。同时,如果该服务注册至eureka,则该服务在eureka中显示的服务名称也为eureka

     eureka管理页面上显示已注册的服务名称如下图:

eureka服务搭建

     eureka的server端yml配置如下:

 eureka服务搭建

 

client端

引入eureka client的maven依赖

 引入依赖时无需给定eureka的版本号,maven会根据当前使用的springcloud版本来判断应该引入哪个版本的euraka server依赖 

eureka服务搭建

<dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-starter-netflix-eureka-client</artifactid>
</dependency>

 

启动类及yml相关配置

  1. 启动类上加@enablediscoveryclient注解
  2. yml中配置service-url、服务名称
    • service-url的值要配置给defaultzone属性,这个地方配置的时eureka服务端的url,如果服务端为高可用,则可以配置多个,中间用逗号隔开

   eureka的client端yml配置如下:

 eureka服务搭建

eureka服务搭建

 

eureka高可用

高可用服务搭建

  1. 服务端起多个实例,实例与实例间两两互相注册,这样实例间就可以同步客户端信息

   eureka的高可用yml配置如下:

eureka服务搭建

  服务启动时,需要启动多个实例,并且实例间两两相互注册,启动命令如下:

  通过-dserver.port=8761指定某个实例的端口号

  nohup java -dserver.port=8761 -jar eureka-0.0.1-snapshot.jar > eureka1.log 2>&1 &