Eureka是注册中心,所有微服务都会注册到这里管理,可观察服务状态,服务个数等信息。还能够在服务间的调用提供联络功能。
同上面创建微服务的方式一样,直接操作如下:
有时候会自动生成,下面的版本控制信息,直接删掉就行
最终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>com.kjgs</groupId>
<artifactId>springclouddemo2</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.kjgs</groupId>
<artifactId>demo-eureka</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo-eureka</name>
<dependencies>
<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>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
application.yml
server:
port: 8283
spring:
application:
name: demo-eureka
eureka:
server:
enable-self-preservation: true
instance:
hostname: localhost
client:
fetch-registry: false
register-with-eureka: false
service-url:
defaultZone: http://localhost:8283/eureka/
启动类 添加启动erueka服务配置
启动:
前端可以打开eureka页面
目前服务接口如下:
接着把demo1 和demo2 注册到eureka。需要做如下修改
pom都引入eureka client依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
yml 引入eureka配置:
eureka:
client:
service-url:
defaultZone: http://localhost:8283/eureka/
启动类 开启eureka
然后分别重启demo1 demo2
刷新eureka 可以看到两个demo都能注册进来
Eureka 集群部署:就是eureka间互相注册
集群很重要 , 提供容灾能力
在eureka服务中加两个配置文件,用于起多个服务
主要的修改点有:端口,实例名,服务地址
然后还要修改host文件,把新加的实例名localhost2 localhost3 跟127.0.0.1 IP相互映射。
127.0.0.1 localhost3
127.0.0.1 localhost2
127.0.0.1 localhost
复制两个Eureka服务,并指定他们的启动配置文件
-Dspring.profiles.active=dev2
对了,还要修改原先的eureka服务的配置文件,eureka间相互注册:
然后启动三个eureka服务,和一个业务服务demo1
符合预期。
添加security
euruka的登录还是加个登录界面吧。这里就使用全家桶里面的security.
pom 引入依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-security</artifactId>
</dependency>
启动。有登录