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为当前在线状态)