2:Eureka服務治理中心
一:創建項目
我們首先創建spring cloud的服務治理中心,在創建界面選擇添加的組件爲:Eureka-Server以及spring Web
創建好的工程結構:
下邊是整體pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.bigsoft</groupId>
<artifactId>bigsoft-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>bigsoft-server</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
這裏是自動幫我們添加的組件,你可以選擇自己熟悉的版本,例如:
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Hoxton.SR1</spring-cloud.version>
</properties>
二:啓用Eureka
在spring boot 啓動文件中添加:
@EnableEurekaServer
這一個註解,即完成了基礎搭建
最後一步,我們做一些簡單的配置,首先找到resources->application.properties(或者application.yml)文件
添加配置項:
spring:
application:
name: server # Spring項目名稱
server:
port: 8001 # 服務器端口
eureka:
instance:
hostname: localhost # Eureka註冊服務器名稱
client:
register-with-eureka: false # 是否註冊給服務中心
fetch-registry: false # 是否檢索服務
service-url:
defaultZone: http://localhost:8001/eureka/ # 治理客戶端服務域
注意點:
- 我們當前項目本身就是註冊中心,所以 設置register-with-eureka: false,不需要再往註冊中心註冊了
- 我們當前只是做註冊中心的作用,不對外做服務,所以設置fetch-registry: false
三:啓動Eureka
上邊的配置結束後,點擊啓動項目,在瀏覽器輸入 http://localhost:8001/(這裏的地址和端口和之前配置文件裏邊相對應,可以修改)
當你看到這個界面的時候,證明你的Eureka服務治理中心已經成功啓動了
我們需要在這個界面中找到我們需要的一部分信息:
01:System Status 系統狀態
System Status的含義是 當前Eureka的系統狀態其中 Environment代表運行環境描述
除了這種默認的顯示,我們可以自定義更換它的信息:
eureka:
instance:
hostname: localhost # Eureka註冊服務器名稱
environment: prod
重啓項目,我們發現這裏發生了改變
這裏就能更好的描述我們當前運行在prod環境當中
當然我們也可以修改Data center的信息
eureka:
instance:
hostname: localhost # Eureka註冊服務器名稱
environment: prod
datacenter: www.bigsoft.com
啓動頁面:
第一塊位置左邊
這個區域包含的信息包括如下:
Current time:當前的系統時間
Uptime:已經運行了多少時間
Lease expiration enabled:是否啓用租約過期 ,自我保護機制關閉時,該值默認是true, 自我保護機制開啓之後爲false。
Renews threshold: 每分鐘最少續約數,Eureka Server 期望每分鐘收到客戶端實例續約的總數。
Renews (last min): 最後一分鐘的續約數量(不含當前,1分鐘更新一次),Eureka Server 最後 1 分鐘收到客戶端實例續約的總數。
這個信息我們後邊再研究
02:DS Replicas
我們現在頁面上DS Replicas顯示的東西沒有任何數據,因爲DS Replicas代表的是Eureka Server相鄰節點,互爲一個集羣,但是我們現在只有一個服務治理中心(Eureka Server),默認不顯示出來
03: Instances currently registered with Eureka(當前在Eureka註冊的實例)
在這裏
Instances currently registered with Eureka我們看到下邊的Application現在的顯示是No instances available。它的意思是指,你的服務治理中心有了,但是還沒有任何服務註冊到你這邊(相當於一個光桿司令)
04:General Info(一般信息)
這個區域主要描述運行過程中的一般信息,具體包含:
total-avail-memory : 總共可用的內存
environment : 環境名稱,默認test
num-of-cpus : CPU的個數
current-memory-usage : 當前已經使用內存的百分比
server-uptime : 服務啓動時間
registered-replicas : 相鄰集羣複製節點
unavailable-replicas :不可用的集羣複製節點
available-replicas :可用的相鄰集羣複製節點
05:Instance Info(實例信息)
這裏的信息就比較少了,其中
ipAddr:eureka服務端IP
status:eureka服務端狀態(UP爲當前在線狀態)