SpringCloud學習--Eureka 服務註冊與發現

目錄

  一:構建項目html

  二:服務註冊與發現spring

  爲何選擇Eureka,請看上一篇博客 Eureka -- 淺談Eurekaapp

項目構建

    IDEA 選擇 New Project 選擇 Spring Initializr maven

    填入Group組、Artifice項目名,勾選Type爲 Gradle Config(這裏是基於gradle實現的)ide

    選擇組件:根據本身須要進行選擇,這裏須要Eureka來作爲註冊中心,因此我先勾線了Eureka的兩個服務依賴學習

    建立完成後 在 bulid.gradle中 使用subprojects統一全部子項目的配置fetch

      subprojects{} 做用:使用多模塊項目時,不一樣模塊之間有相同的配置,致使重複配置,能夠將相同的部分抽取出來,使用配置注入的技術完成子項目的配置。根項目就像一個容器, subprojects 方法遍歷這個容器的全部元素而且注入指定的配置。gradle

 服務註冊與發現

  註冊中心

    首先先建立一個Module模塊,操做以下:右鍵項目 New Moduleurl

    選擇gradle(若是用maven構建請選擇maven)spa

    輸入模塊名稱 register-center

    完成模塊建立,在子模塊的bulid.gradle中 添加 eureka 註冊服務依賴

dependencies {
    compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-server')
}

    在main裏面建立啓動類RegisterApplication(注意加入@EnableEurekaServer註解 來代表本身是一個註冊中心)

@SpringBootApplication
@EnableEurekaServer//代表本身是註冊中心
public class RegisterApplication {
    public static void main(String[] args) {
        SpringApplication.run(RegisterApplication.class, args);
    }
}

    在resources中添加application.yml配置文件

spring:
  application:
    name: register-center
server:
  port: 10000
eureka:
  client:
    service-url:
     defaultZone: http://localhost:10000/eureka#默認地址
    register-with-eureka: false#啓動時不註冊代表本身是一個註冊中心
    fetch-registry: false
View Code

    這裏自定義了Eureka端口地址

    其Eureka默認端口地址爲8761

    打開Eureka地址 發現 本身(register-center)已經被註冊進了,和咱們起初只是單讓它做爲一個註冊中心是不匹配的

    能夠發現如今是沒有配置  register-with-eureka: false    fetch-registry: false 這兩句代碼的  Eureka也將本身註冊進來,將這兩句代碼加入配置文件中 再次刷新Eureka發現本身已經不在註冊中心了

   服務發現

    同上再次建立一個Module(order-client) 在其bulid.gradle中添加eureka客戶端的依賴

dependencies {
    compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')
}

    建立啓動類OrderClientApplication(添加@EnableDiscoveryClient //表示本身是eureka客戶端)

@SpringBootApplication
@EnableEurekaClient //代表本身是eureka客戶端
public class OrderClientApplication {
    public static void main(String[] args) {
        SpringApplication.run(OrderClientApplication.class,args);
    }
}

    添加application.yml配置 這裏就不須要在寫入 register-with-eureka: false    fetch-registry: false 

    這裏在啓動時應該注意先將eureka服務端(register-center)啓動,再啓動客戶端(order-client),如不先啓動服務端(也能夠添加 register-with-eureka: false fetch-registry: false 解決可是這就又成爲服務端了,並非咱們想要的),客戶端將報以下錯誤

    這裏牽扯到Eureka的特色:便是服務端,又是客戶端,後續會對Eureka註冊過程進行一個分析想學習的,請關注博主o,這裏先不作說明

    啓動服務端再啓動客戶端,刷新註冊中心,發現客戶端已經註冊進去了

    至此,Eureka的服務註冊就已經實現了。

相關文章
相關標籤/搜索