spring cloud Eureka集群模式搭建(IDEA中运行)
新建springboot 工程
新建一个springboot 工程,命名为:eureka_server。
- 其中pom.xml文件为:
java
<?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.didispace</groupId>
<artifactId>eureka_server</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>eureka-server</name>
<description>Spring Cloud In Action</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.7.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-actuator</artifactId>-->
<!--</dependency>-->
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Brixton.SR5</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>
- 项目启动文件为:
java
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
public static void main(String[] args) {
new SpringApplicationBuilder(EurekaServerApplication.class).web(true).run(args);
}
}
工程整体目录
配置文件
- application-eureka.yml
java
spring:
application:
name: eureka-server
server:
port: 1111
eureka:
instance:
#eureka服务端的实例名称
hostname: eureka
client:
# false表示不向注册中心注册自己
register-with-eureka: true
# false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
fetch-registry: true
#设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机)。
# defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
service-url:
defaultZone: http://eureka01:1112/eureka/,http://eureka02:1113/eureka/
server:
#清理服务间隔3s,默认60*10000
eviction-interval-timer-in-ms: 3000
#关闭自我保护模式
enable-self-preservation: false
logging:
file: ${spring.application.name}.log
- application-eureka01.yml
java
spring:
application:
name: eureka-server
server:
port: 1112
eureka:
instance:
#eureka服务端的实例名称
hostname: eureka01
client:
# false表示不向注册中心注册自己
register-with-eureka: true
# false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
fetch-registry: true
#设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机)。
# defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
service-url:
defaultZone: http://eureka:1111/eureka/,http://eureka02:1113/eureka/
server:
#清理服务间隔3s,默认60*10000
eviction-interval-timer-in-ms: 3000
#关闭自我保护模式
enable-self-preservation: false
logging:
file: ${spring.application.name}.log
- application-eureka02.yml
java
spring:
application:
name: eureka-server
server:
port: 1113
eureka:
instance:
#eureka服务端的实例名称
hostname: eureka02
client:
# false表示不向注册中心注册自己
register-with-eureka: true
# false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
fetch-registry: true
#设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机)。
# defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
service-url:
defaultZone: http://eureka:1111/eureka/,http://eureka01:1112/eureka/
server:
#清理服务间隔3s,默认60*10000
eviction-interval-timer-in-ms: 3000
#关闭自我保护模式
enable-self-preservation: false
logging:
file: ${spring.application.name}.log
IDEA中部署
- 配置文件中的 hostname 和 defaultZone 中设置为别名,并修改host文件,在文件中添加映射关系,如图所示:
- 在IDEA中设置3个启动方式,分别启动不同配置文件的工程,具体操作如图:
- 点击modify options
- 选中 program arguments, 输入--spring.profiles.active=eureka 其中--spring.profiles.active是固定写法,eureka是对应yml文件的名字
- 其他配置文件同理
- 访问得到的效果如图:
以jar包形式启动
java -jar -Dspring.profiles.active=eureka xxx.jar
java -jar -Dspring.profiles.active=eureka01 xxx.jar
java -jar -Dspring.profiles.active=eureka02 xxx.jar
总结
以上就是最基本spring cloud Eureka集群模式搭建,在IDEA中启动与-jar的启动方式,希望可以帮助到大家。