在之前的项目中,我们可以看到我们客户端要记录大量的地址信息,而且无法确定某个服务是否可用。所以我们启用Eureka注册中心来统一管理微服务,新建一个模块microcloud-eureka-7001:
里面包含pom.xml和配置文件application.yml以及启动类Eureka_7001_StartSpringCloudApplication.java
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.jmx</groupId>
<artifactId>microcloud</artifactId>
<version>0.0.1</version>
</parent>
<groupId>com.jmx</groupId>
<artifactId>microcloud-eureka-7001</artifactId>
<version>0.0.1</version>
<name>microcloud-eureka-7001</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
</project>
application.yml
server:
port: 7001
eureka:
instance: #定义Eureka实例
hostname: eureka-7001.com #Eureka实例所在的主机名
#eureka默认情况下,把自己当做客户端来注册自己,所以我们要禁用它
client:
register-with-eureka: false #表示是否将自己注册到Eureka Server上,默认为true
fetch-registry: false #表示是否从Eureka Server上获取注册信息,默认为true
Eureka_7001_StartSpringCloudApplication.java
package com.jmx.microcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**程序主类
* @author JMX
*
*/
@SpringBootApplication
@EnableEurekaServer
public class Eureka_7001_StartSpringCloudApplication {
public static void main(String[] args) {
SpringApplication.run(Eureka_7001_StartSpringCloudApplication.class, args);
}
}
同样的,我们在C:\Windows\System32\drivers\etc路径下的hosts里最后面添加地址用于模拟Eureka注册中心
127.0.0.1 eureka-7001.com #Eureka注册中心
启动启动类,浏览器输入http://eureka-7001.com:7001/
我们的Eureka注册中心就配置好了.
2.在我们的微服务中注册成Eureka的客户端,修改microcloud-provider-dept-8001的pom.xml,添加Eureka的客户端相关依赖
pom.xml
<!-- Eureka服务-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
修改application.yml配置文件添加客户端相关配置
server:
port: 8001
eureka:
client: #客户端进行Eureka注册的配置
service-url:
defaultZone: http://eureka-7001.com:7001/eureka/
mybatis:
config-location: classpath:mybatis/mybatis.cfg.xml # mybatis配置文件所在路径
type-aliases-package: com.jmx.vo # 定义所有操作类的别名所在包
mapper-locations: # 所有的mapper映射文件
- classpath:mybatis/mapper/**/*.xml
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 配置当前要使用的数据源的操作类型
driver-class-name: org.gjt.mm.mysql.Driver # 配置MySQL的驱动程序类
url: jdbc:mysql://localhost:3307/jmx8001?useUnicode=true&characterEncoding=utf-8 # 数据库连接地址
username: root # 数据库用户名
password: 123456 # 数据库连接密码
dbcp2: # 进行数据库连接池的配置
min-idle: 5 # 数据库连接池的最小维持连接数
initial-size: 5 # 初始化提供的连接数
max-total: 5 # 最大的连接数
max-wait-millis: 200 # 等待连接获取的最大超时时间
application:
name: provider-8001 # Eureka注册中心服务名
修改Dept_8001_StartSpringCloudApplication.java,在启动类添加@EnableEurekaClient注解
package com.jmx.microcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
/**程序主类
* @author JMX
*
*/
@SpringBootApplication
@EnableEurekaClient
public class Dept_8001_StartSpringCloudApplication {
public static void main(String[] args) {
SpringApplication.run(Dept_8001_StartSpringCloudApplication.class, args);
}
}
启动该主类,浏览器输入http://eureka-7001.com:7001/
这样我们就把8001端口这个微服务注册到了Eureka注册中心了.
3.Eureka微服务信息,上面那张图看出我们的微服务是主机名拼凑而成的连接,这样在应用环境是非常不友好的,应该是IP或者域名
结合起来,我们先配置资源文件以及导入资源插件.打开我们的microcloud的pom.xml
pom.xml
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jmx</groupId>
<artifactId>microcloud</artifactId>
<version>0.0.1</version>
<packaging>pom</packaging>
<name>microcloud</name>
<url>http://maven.apache.org</url>
<properties>
<jdk.version>1.8</jdk.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.jmx</groupId>
<artifactId>microcloud-api</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.jmx</groupId>
<artifactId>microcloud-security</artifactId>
<version>0.0.1</version>
</dependency>
<dependency> <!-- 进行SpringCloud依赖包的导入处理 -->
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency> <!-- SpringCloud离不开SpringBoot,所以必须要配置此依赖包 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.4.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.4</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.31</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>microcloud</finalName>
<!-- 配置资源文件 -->
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<!-- 处理资源插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimiter>$</delimiter>
</delimiters>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${jdk.version}</source><!-- 源代码使用的开发版本 -->
<target>${jdk.version}</target><!-- 需要生成的目标class文件的编译版本 -->
<encode>${project.build.sourceEncoding}</encode>
</configuration>
</plugin>
</plugins>
</build>
<modules>
<module>microcloud-api</module>
<module>microcloud-provider-dept-8001</module>
<module>microcloud-consumer-80</module>
<module>microcloud-security</module>
<module>microcloud-eureka-7001</module>
</modules>
</project>
然后修改我们的微服务microcloud-provider-dept-8001的pom.xml导入微服务监控插件
<!--微服务监控插件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
然后配置我们微服务的相关信息,修改application.yml
server:
port: 8001
eureka:
client: #客户端进行Eureka注册的配置
service-url:
defaultZone: http://eureka-7001.com:7001/eureka/
instance:
instance-id: dept-8001.com #在信息列表时显示主机名称
prefer-ip-address: true #访问路径变为IP地址
info:
app.name: jmx-microcloud
company.name: www.52jmx.com
build.artifactId: $project.artifactId$
build.version: $project.version$
我们启动Eureka以及微服务,浏览器输入http://eureka-7001.com:7001/
双击我们微服务的地址
输入账号密码
我们在application.yml的配置就显示出来了。
4.Eureka发现服务以及相关保护模式,实际项目中我们的Eureka是作为所有微服务的监控处理的,新服务追加的时候应该可以进行注册,某个微服务下线后可以进行清理。(此项如无特殊需求,一般我们都是默认处理)既然是设置Eureka的设置我们便修改microcloud-eureka-7001的application.yml的内容
application.yml
server:
port: 7001
eureka:
instance: #定义Eureka实例
hostname: eureka-7001.com #Eureka实例所在的主机名
#eureka默认情况下,把自己当做客户端来注册自己,所以我们要禁用它
client:
register-with-eureka: false #表示是否将自己注册到Eureka Server上,默认为true
fetch-registry: false #表示是否从Eureka Server上获取注册信息,默认为true
server:
eviction-interval-timer-in-ms: 6000 #设置清理的间隔时间(默认6000ms)
enable-self-preservation: false #关闭保护模式
微服务与Eureka注册中心的心跳时间自定义,心跳检测是检测微服务是否宕机的重要手段,我们修改microcloud-provider-dept-8001的application.yml
server:
port: 8001
eureka:
client: #客户端进行Eureka注册的配置
service-url:
defaultZone: http://eureka-7001.com:7001/eureka/
instance:
lease-expiration-duration-in-seconds: 5 #设置心跳的周期间隔(默认90s)[如果5s没响应默认服务宕机]
lease-renewal-interval-in-seconds: 2 #设置心跳时间间隔(默认30s)
instance-id: dept-8001.com #在信息列表时显示主机名称
prefer-ip-address: true #访问路径变为IP地址
info:
app.name: jmx-microcloud
company.name: www.52jmx.com
build.artifactId: $project.artifactId$
build.version: $project.version$
微服务端直接通过发现服务获取一些服务信息,我们修改DeptRest.java与启动类Dept_8001_StartSpringCloudApplication.java
DeptRest.java
package com.jmx.microcloud.rest;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.jmx.microcloud.service.IDeptService;
import com.jmx.vo.Dept;
@RestController
public class DeptRest {
@Autowired
private IDeptService ideptService;
@Autowired
private DiscoveryClient client;//Eureka的发现服务
@RequestMapping(value="/dept/get/{id}",method=RequestMethod.GET)
public Dept get(@PathVariable(value="id")int id) {
return ideptService.get(id);
}
@RequestMapping(value="/dept/add",method=RequestMethod.POST)
public boolean add(@RequestBody Dept dept) {
return ideptService.add(dept);
}
@RequestMapping(value="/dept/list",method=RequestMethod.GET)
public List<Dept> list() {
return ideptService.list();
}
@RequestMapping("/dept/sessionid")
public String id(HttpServletRequest request) {
return request.getSession().getId();
}
@RequestMapping("/dept/discover")
public DiscoveryClient discover() {
//直接返回发现服务信息
return this.client;
}
}
Dept_8001_StartSpringCloudApplication.java
package com.jmx.microcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
/**程序主类
* @author JMX
*
*/
@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
public class Dept_8001_StartSpringCloudApplication {
public static void main(String[] args) {
SpringApplication.run(Dept_8001_StartSpringCloudApplication.class, args);
}
}
OK了发现服务配置好了启动微服务以及Eureka注册中心,浏览器输入:http://dept-8001.com:8001/dept/discover(我们直接跳过Eureka注册中心进行访问)
5.Eureka注册中心的安全配置,修改microcloud-eureka-7001的pom.xml文件追加SpringSecurity的依赖包,在application.yml里面追加认证账户密码.
pom.xml
<!-- 追加Security安全依赖包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
application.yml
server:
port: 7001
security:
basic:
enabled: true #启用安全处理
user:
name: edmin #用户名
password: jmxhello #密码
eureka:
instance: #定义Eureka实例
hostname: eureka-7001.com #Eureka实例所在的主机名
#eureka默认情况下,把自己当做客户端来注册自己,所以我们要禁用它
client:
register-with-eureka: false #表示是否将自己注册到Eureka Server上,默认为true
fetch-registry: false #表示是否从Eureka Server上获取注册信息,默认为true
server:
eviction-interval-timer-in-ms: 6000 #设置清理的间隔时间(默认6000ms)
enable-self-preservation: false #关闭保护模式
并在微服务microcloud-provider-dept-8001追加Security安全配置,修改application.yml
server:
port: 8001
eureka:
client: #客户端进行Eureka注册的配置
service-url:
defaultZone: http://edmin:jmxhello@eureka-7001.com:7001/eureka/
instance:
lease-expiration-duration-in-seconds: 5 #设置心跳的周期间隔(默认90s)[如果5s没响应默认服务宕机]
lease-renewal-interval-in-seconds: 2 #设置心跳时间间隔(默认30s)
instance-id: dept-8001.com #在信息列表时显示主机名称
prefer-ip-address: true #访问路径变为IP地址
info:
app.name: jmx-microcloud
company.name: www.52jmx.com
build.artifactId: $project.artifactId$
build.version: $project.version$
mybatis:
config-location: classpath:mybatis/mybatis.cfg.xml # mybatis配置文件所在路径
type-aliases-package: com.jmx.vo # 定义所有操作类的别名所在包
mapper-locations: # 所有的mapper映射文件
- classpath:mybatis/mapper/**/*.xml
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 配置当前要使用的数据源的操作类型
driver-class-name: org.gjt.mm.mysql.Driver # 配置MySQL的驱动程序类
url: jdbc:mysql://localhost:3307/jmx8001?useUnicode=true&characterEncoding=utf-8 # 数据库连接地址
username: root # 数据库用户名
password: 123456 # 数据库连接密码
dbcp2: # 进行数据库连接池的配置
min-idle: 5 # 数据库连接池的最小维持连接数
initial-size: 5 # 初始化提供的连接数
max-total: 5 # 最大的连接数
max-wait-millis: 200 # 等待连接获取的最大超时时间
application:
name: provider-8001 # Eureka注册中心服务名
6.Eureka的集群HA机制,我们既然要做Eureka的集群,那么就会面临多主机的处理,我们修改C:\Windows\System32\drivers\etc路径下的hosts最后添加Eureka集群的模拟地址
127.0.0.1 eureka-7001.com #Eureka注册中心的集群-0
127.0.0.1 eureka-7002.com #Eureka注册中心的集群-1
127.0.0.1 eureka-7003.com #Eureka注册中心的集群-2
项目中从microcloud-eureka-7001复制2份改名为microcloud-eureka-7002与microcloud-eureka-7003,如下图所示
修改microcloud-eureka-7001的application.yml
application.yml
server:
port: 7001
security:
basic:
enabled: true #启用安全处理
user:
name: edmin #用户名
password: jmxhello #密码
eureka:
instance: #定义Eureka实例
hostname: eureka-7001.com #Eureka实例所在的主机名
#eureka默认情况下,把自己当做客户端来注册自己,所以我们要禁用它
client:
service-url:
defaultZone: http://edmin:jmxhello@eureka-7002.com:7002/eureka,http://edmin:jmxhello@eureka-7003.com:7003/eureka
register-with-eureka: false #表示是否将自己注册到Eureka Server上,默认为true
fetch-registry: false #表示是否从Eureka Server上获取注册信息,默认为true
server:
eviction-interval-timer-in-ms: 6000 #设置清理的间隔时间(默认6000ms)
enable-self-preservation: false #关闭保护模式
接着修改microcloud-eureka-7002与microcloud-eureka-7003的Springboot的启动类以及application.yml的端口号以及客户端注册Eureka地址
microcloud-eureka-7002的启动类Eureka_7002_StartSpringCloudApplication.java与application.yml
Eureka_7002_StartSpringCloudApplication.java
package com.jmx.microcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**程序主类
* @author JMX
*
*/
@SpringBootApplication
@EnableEurekaServer
public class Eureka_7002_StartSpringCloudApplication {
public static void main(String[] args) {
SpringApplication.run(Eureka_7002_StartSpringCloudApplication.class, args);
}
}
application.yml
server:
port: 7002
security:
basic:
enabled: true #启用安全处理
user:
name: edmin #用户名
password: jmxhello #密码
eureka:
instance: #定义Eureka实例
hostname: eureka-7002.com #Eureka实例所在的主机名
#eureka默认情况下,把自己当做客户端来注册自己,所以我们要禁用它
client:
service-url:
defaultZone: http://edmin:jmxhello@eureka-7001.com:7001/eureka,http://edmin:jmxhello@eureka-7003.com:7003/eureka
register-with-eureka: false #表示是否将自己注册到Eureka Server上,默认为true
fetch-registry: false #表示是否从Eureka Server上获取注册信息,默认为true
server:
eviction-interval-timer-in-ms: 6000 #设置清理的间隔时间(默认6000ms)
enable-self-preservation: false #关闭保护模式
microcloud-eureka-7003的启动类Eureka_7003_StartSpringCloudApplication.java与application.yml
Eureka_7003_StartSpringCloudApplication.java
package com.jmx.microcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**程序主类
* @author JMX
*
*/
@SpringBootApplication
@EnableEurekaServer
public class Eureka_7003_StartSpringCloudApplication {
public static void main(String[] args) {
SpringApplication.run(Eureka_7003_StartSpringCloudApplication.class, args);
}
}
application.yml
server:
port: 7003
security:
basic:
enabled: true #启用安全处理
user:
name: edmin #用户名
password: jmxhello #密码
eureka:
instance: #定义Eureka实例
hostname: eureka-7003.com #Eureka实例所在的主机名
#eureka默认情况下,把自己当做客户端来注册自己,所以我们要禁用它
client:
service-url:
defaultZone: http://edmin:jmxhello@eureka-7001.com:7001/eureka,http://edmin:jmxhello@eureka-7002.com:7002/eureka
register-with-eureka: false #表示是否将自己注册到Eureka Server上,默认为true
fetch-registry: false #表示是否从Eureka Server上获取注册信息,默认为true
server:
eviction-interval-timer-in-ms: 6000 #设置清理的间隔时间(默认6000ms)
enable-self-preservation: false #关闭保护模式
把我们的Eureka注册中心的所有服务都启动起来,浏览器分别输入:
http://edmin:jmxhello@eureka-7001.com:7001
http://edmin:jmxhello@eureka-7002.com:7002
http://edmin:jmxhello@eureka-7003.com:7003
从上面三幅图里我们看见了我们的Eureka注册中心分别在三台主机上部署成功,成功实现了集群部署.然后我们将微服务注册进去修改microcloud-provider-dept-8001的application.yml添加其他Eureka注册中心的主机地址
application.yml
server:
port: 8001
eureka:
client: #客户端进行Eureka注册的配置
service-url:
defaultZone: http://edmin:jmxhello@eureka-7001.com:7001/eureka/,http://edmin:jmxhello@eureka-7002.com:7002/eureka/,http://edmin:jmxhello@eureka-7003.com:7003/eureka/
instance:
lease-expiration-duration-in-seconds: 5 #设置心跳的周期间隔(默认90s)[如果5s没响应默认服务宕机]
lease-renewal-interval-in-seconds: 2 #设置心跳时间间隔(默认30s)
instance-id: dept-8001.com #在信息列表时显示主机名称
prefer-ip-address: true #访问路径变为IP地址
info:
app.name: jmx-microcloud
company.name: www.52jmx.com
build.artifactId: $project.artifactId$
build.version: $project.version$
mybatis:
config-location: classpath:mybatis/mybatis.cfg.xml # mybatis配置文件所在路径
type-aliases-package: com.jmx.vo # 定义所有操作类的别名所在包
mapper-locations: # 所有的mapper映射文件
- classpath:mybatis/mapper/**/*.xml
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 配置当前要使用的数据源的操作类型
driver-class-name: org.gjt.mm.mysql.Driver # 配置MySQL的驱动程序类
url: jdbc:mysql://localhost:3307/jmx8001?useUnicode=true&characterEncoding=utf-8 # 数据库连接地址
username: root # 数据库用户名
password: 123456 # 数据库连接密码
dbcp2: # 进行数据库连接池的配置
min-idle: 5 # 数据库连接池的最小维持连接数
initial-size: 5 # 初始化提供的连接数
max-total: 5 # 最大的连接数
max-wait-millis: 200 # 等待连接获取的最大超时时间
application:
name: provider-8001 # Eureka注册中心服务名
启动微服务,分别刷新三个端口的Eureka注册中心,然后查看是否注册成功。我们发现三个地址的微服务都已经注册成功
7.Eureka的服务发布,我们需要新增一个microcloud-eureka-server的模块,修改application.yml
application.yml
spring:
profiles:
active:
- dev-7001 #设置常用的活动Eureka注册中心
--- #Eureka注册中心7001
spring:
profiles: dev-7001
application:
name: microcloud-eureka-7001
server:
port: 7001
security:
basic:
enabled: true #启用安全处理
user:
name: edmin #用户名
password: jmxhello #密码
eureka:
instance: #定义Eureka实例
hostname: eureka-7001.com #Eureka实例所在的主机名
#eureka默认情况下,把自己当做客户端来注册自己,所以我们要禁用它
client:
service-url:
defaultZone: http://edmin:jmxhello@eureka-7002.com:7002/eureka,http://edmin:jmxhello@eureka-7003.com:7003/eureka
register-with-eureka: false #表示是否将自己注册到Eureka Server上,默认为true
fetch-registry: false #表示是否从Eureka Server上获取注册信息,默认为true
server:
eviction-interval-timer-in-ms: 6000 #设置清理的间隔时间(默认6000ms)
enable-self-preservation: false #关闭保护模式
--- #Eureka注册中心7002
spring:
profiles: dev-7002
application:
name: microcloud-eureka-7002
server:
port: 7002
security:
basic:
enabled: true #启用安全处理
user:
name: edmin #用户名
password: jmxhello #密码
eureka:
instance: #定义Eureka实例
hostname: eureka-7002.com #Eureka实例所在的主机名
#eureka默认情况下,把自己当做客户端来注册自己,所以我们要禁用它
client:
service-url:
defaultZone: http://edmin:jmxhello@eureka-7001.com:7001/eureka,http://edmin:jmxhello@eureka-7003.com:7003/eureka
register-with-eureka: false #表示是否将自己注册到Eureka Server上,默认为true
fetch-registry: false #表示是否从Eureka Server上获取注册信息,默认为true
server:
eviction-interval-timer-in-ms: 6000 #设置清理的间隔时间(默认6000ms)
enable-self-preservation: false #关闭保护模式
--- #Eureka注册中心7003
spring:
profiles: dev-7003
application:
name: microcloud-eureka-7003
server:
port: 7003
security:
basic:
enabled: true #启用安全处理
user:
name: edmin #用户名
password: jmxhello #密码
eureka:
instance: #定义Eureka实例
hostname: eureka-7003.com #Eureka实例所在的主机名
#eureka默认情况下,把自己当做客户端来注册自己,所以我们要禁用它
client:
service-url:
defaultZone: http://edmin:jmxhello@eureka-7001.com:7001/eureka,http://edmin:jmxhello@eureka-7002.com:7002/eureka
register-with-eureka: false #表示是否将自己注册到Eureka Server上,默认为true
fetch-registry: false #表示是否从Eureka Server上获取注册信息,默认为true
server:
eviction-interval-timer-in-ms: 6000 #设置清理的间隔时间(默认6000ms)
enable-self-preservation: false #关闭保护模式
然后在microcloud-eureka-server模块上运行maven的build命令[clean install package]
打包成功我们在microcloud-eureka-server的target目录下有eureka-server.jar包
到此,我们的Eureka注册中心已经完成。
项目Demo:点我下载