SpringCloud框架初探(三): Eureka Server 伺服器搭建
Eureka包含了伺服器端和客戶端元件。
伺服器端,也被稱作是服務註冊中心,用於提供服務的註冊與發現。
客戶端元件包含服務消費者與服務生產者。在應用程式執行時,Eureka客戶端向註冊中心註冊自身提供的服務並週期性的傳送心跳來更新它的服務租約。同時也可以從服務端查詢當前註冊的服務資訊並把他們快取到本地並週期性的重新整理服務狀態。
1、伺服器端搭建
@SpringBootApplication @EnableEurekaServer public class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class, args); } }
使用註解@EnableEurekaServer,啟動Eureka伺服器端。
伺服器端配置檔案,有兩種配置方式properties檔案和yml檔案,這兩種檔案語法有所不同:
在properties檔案中,用屬性spring.application.name = eureka-register來定義Eureka Server伺服器的名稱,但是用yml檔案的話是:
spring:
application:
name: eureka-register
需要注意的是:yml屬性間用:換行隔開,行與行之間不能是tab間隔,是兩個空格。
security屬性為Eureka註冊中心提供簡單的使用者認證
security:
basic:
enabled: true
user:
name: user
password: password123
security.basic.enabled = true 表示是否開啟基於Http basic的認證
security.user表示訪問Eureka伺服器的賬戶和密碼
security.basic.enabled = true
security.user.name = user
security.user.password = password123
server.port = 8761 表示訪問Eureka的埠號
eureka.client.register-with-eureka = false 表示Eureka是否註冊自身到Eureka伺服器。如果只有一個Eureka節點的話,就不需要了。對於Eureka叢集管理,就有必要了。
eureka.client.fetch-register表示是否從eureka上獲取註冊資訊。
eureka.client.service-url 表示將Eureka自身註冊到哪臺Eureka伺服器上。
比如我們有兩個Eureka節點的叢集,我們可以把Eureka server1註冊到Eureka Server2 ,同樣地,我們可以把Eureka Server2註冊到Eureka Server1上,以此完成兩個server服務間的相互註冊。
其實Eureka server也可以看做是一個Eureka Client,通過register-with-eureka :false;fetch-registry: false 表明自己是一個Eureka Server。
好了,現在我們啟動這個簡單的Eureka Server伺服器:
spring:
application:
name: eureka-register
security:
basic:
enabled: true
user:
name: user
password: password123
server:
port: 8761
eureka:
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://user:[email protected]:8761/eureka
2、Eureka伺服器訪問
啟動EurekaApplication,訪問http://localhost:8761/ ,需要輸入Eureka賬戶名和密碼,完成http basic認證。
登入之後,就可以看到Eureka註冊中心的情況:
可以看出來,EUREKA-REGISTER (Eureka配置的名稱),已經註冊到自身上
我在微信訂閱號等你!