【spring cloud系列(三)】- eureka服務(wù)注冊中心搭建

微服務(wù)系列文章導(dǎo)航


源碼地址


工程說明

  • 服務(wù)中心的作用:服務(wù)注冊,服務(wù)發(fā)現(xiàn)
  • 服務(wù)中心解決的問題:服務(wù)管理、服務(wù)的依賴關(guān)系
  • 服務(wù)中心的角色
  1. Eureka Server
  • 通過 Register、Get、Renew 等接口提供服務(wù)的注冊和發(fā)現(xiàn)。
  1. Application server(service provider)
  • 服務(wù)提供方,把自身的服務(wù)實例注冊到 Eureka Server
  1. Application client(Service Consumer)
  • 服務(wù)消費方,通過Eureka Server,拉取服務(wù)列表至本地,再調(diào)用服務(wù)

工程搭建

1、添加pom依賴

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

2、添加配置

  • 本項目分了三環(huán)境,dev、prodtest,其中dev的配置為動態(tài)配置,可以根據(jù)啟動參數(shù),指定服務(wù)端口號PORT、EUREKA_SERVEREUREKA_DOMAIN。
  • 其余兩個配置(prod,test)組成一個集群,方便單服務(wù)器快速啟動
  • 主配置文件 application.yml 里面指定了微服務(wù)名稱和使用哪個配置文件,以下是各個配置文件的配置
  • application.yml配置
 spring:
  application:
    name: manage-center #eureka 服務(wù)
  profiles:
    active: dev # 讀取哪個配置文件
  • application-dev.yml配置
server:
  port: ${PORT:50100} #服務(wù)端口
eureka:
  client:
    registerWithEureka: true #服務(wù)注冊,是否將自己注冊到Eureka服務(wù)中
    fetchRegistry: true #服務(wù)發(fā)現(xiàn),是否從Eureka中獲取注冊信息
    serviceUrl: #Eureka客戶端與Eureka服務(wù)端的交互地址,高可用狀態(tài)配置對方的地址,單機狀態(tài)配置自己(如果不配置則默認(rèn)本機8761端口)
      defaultZone: ${EUREKA_SERVER:http://localhost:50100}
  server:
    enable-self-preservation: false #是否開啟自我保護(hù)模式
    eviction-interval-timer-in-ms: 60000 #服務(wù)注冊表清理間隔(單位毫秒,默認(rèn)是60*1000)
  instance:
    hostname: ${EUREKA_DOMAIN:eureka}
  • application-prod.yml配置
server:
  port: 50101 #服務(wù)端口
eureka:
  client:
    registerWithEureka: true #服務(wù)注冊,是否將自己注冊到Eureka服務(wù)中
    fetchRegistry: true #服務(wù)發(fā)現(xiàn),是否從Eureka中獲取注冊信息
    serviceUrl: #Eureka客戶端與Eureka服務(wù)端的交互地址,高可用狀態(tài)配置對方的地址,單機狀態(tài)配置自己(如果不配置則默認(rèn)本機8761端口)
      defaultZone: http://localhost:50102/eureka
  server:
    enable-self-preservation: false #是否開啟自我保護(hù)模式
    eviction-interval-timer-in-ms: 60000 #服務(wù)注冊表清理間隔(單位毫秒,默認(rèn)是60*1000)
  instance:
    hostname: localhost
  • application-test.yml配置
server:
  port: 50102 #服務(wù)端口
eureka:
  client:
    registerWithEureka: true #服務(wù)注冊,是否將自己注冊到Eureka服務(wù)中
    fetchRegistry: true #服務(wù)發(fā)現(xiàn),是否從Eureka中獲取注冊信息
    serviceUrl: #Eureka客戶端與Eureka服務(wù)端的交互地址,高可用狀態(tài)配置對方的地址,單機狀態(tài)配置自己(如果不配置則默認(rèn)本機8761端口)
      defaultZone: http://localhost:50101/eureka
  server:
    enable-self-preservation: false #是否開啟自我保護(hù)模式
    eviction-interval-timer-in-ms: 60000 #服務(wù)注冊表清理間隔(單位毫秒,默認(rèn)是60*1000)
  instance:
    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) {
        SpringApplication.run(EurekaApplication.class, args);
    }
}

四、測試啟動

啟動成功之后,訪問地址http://localhost:50100/,出現(xiàn)以下畫面,則說明啟動成功

Eureka-index-page.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。