【spring cloud系列(三)】- eureka服务注册中心搭建

朱雀 2020-10-17 08:03 955阅读 0赞

源码地址


工程说明

  • 服务中心的作用:服务注册,服务发现
  • 服务中心解决的问题:服务管理、服务的依赖关系
  • 服务中心的角色
  1. Eureka Server

    • 通过 Register、Get、Renew 等接口提供服务的注册和发现。
  2. Application server(service provider)

    • 服务提供方,把自身的服务实例注册到 Eureka Server
  3. Application client(Service Consumer)

    • 服务消费方,通过Eureka Server,拉取服务列表至本地,再调用服务

工程搭建

1、添加pom依赖

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
  4. </dependency>

2、添加配置

  • 本项目分了三环境,devprodtest,其中dev的配置为动态配置,可以根据启动参数,指定服务端口号PORTEUREKA_SERVEREUREKA_DOMAIN
  • 其余两个配置(prod,test)组成一个集群,方便单服务器快速启动
  • 主配置文件 application.yml 里面指定了微服务名称和使用哪个配置文件,以下是各个配置文件的配置
  • application.yml配置
  1. spring:
  2. application:
  3. name: manage-center #eureka 服务
  4. profiles:
  5. active: dev # 读取哪个配置文件
  • application-dev.yml配置
  1. server:
  2. port: ${PORT:50100} #服务端口
  3. eureka:
  4. client:
  5. registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中
  6. fetchRegistry: true #服务发现,是否从Eureka中获取注册信息
  7. serviceUrl: #Eureka客户端与Eureka服务端的交互地址,高可用状态配置对方的地址,单机状态配置自己(如果不配置则默认本机8761端口)
  8. defaultZone: ${EUREKA_SERVER:http://localhost:50100}
  9. server:
  10. enable-self-preservation: false #是否开启自我保护模式
  11. eviction-interval-timer-in-ms: 60000 #服务注册表清理间隔(单位毫秒,默认是60*1000)
  12. instance:
  13. hostname: ${EUREKA_DOMAIN:eureka}
  • application-prod.yml配置
  1. server:
  2. port: 50101 #服务端口
  3. eureka:
  4. client:
  5. registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中
  6. fetchRegistry: true #服务发现,是否从Eureka中获取注册信息
  7. serviceUrl: #Eureka客户端与Eureka服务端的交互地址,高可用状态配置对方的地址,单机状态配置自己(如果不配置则默认本机8761端口)
  8. defaultZone: http://localhost:50102/eureka
  9. server:
  10. enable-self-preservation: false #是否开启自我保护模式
  11. eviction-interval-timer-in-ms: 60000 #服务注册表清理间隔(单位毫秒,默认是60*1000)
  12. instance:
  13. hostname: localhost
  • application-test.yml配置
  1. server:
  2. port: 50102 #服务端口
  3. eureka:
  4. client:
  5. registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中
  6. fetchRegistry: true #服务发现,是否从Eureka中获取注册信息
  7. serviceUrl: #Eureka客户端与Eureka服务端的交互地址,高可用状态配置对方的地址,单机状态配置自己(如果不配置则默认本机8761端口)
  8. defaultZone: http://localhost:50101/eureka
  9. server:
  10. enable-self-preservation: false #是否开启自我保护模式
  11. eviction-interval-timer-in-ms: 60000 #服务注册表清理间隔(单位毫秒,默认是60*1000)
  12. instance:
  13. hostname: localhost

3、添加启动注解类

  • 注解类:@EnableEurekaServer
  • 以下为启动类部分代码:

    /**

    • @author : xingsongtan@qq.com
    • @date : 20:19 2019/7/24
      */
      @SpringBootApplication
      @EnableEurekaServer
      public class EurekaApplication {
      public static void main(String[] args) {
      1. SpringApplication.run(EurekaApplication.class, args);
      }
      }

发表评论

表情:
评论列表 (有 0 条评论,955人围观)

还没有评论,来说两句吧...

相关阅读