spring cloud Eureka集群模式搭建(IDEA中运行)

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);
    }
}

工程整体目录

配置文件

  1. 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
  1. 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
  1. 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中部署

  1. 配置文件中的 hostnamedefaultZone 中设置为别名,并修改host文件,在文件中添加映射关系,如图所示:

  2. 在IDEA中设置3个启动方式,分别启动不同配置文件的工程,具体操作如图:
  • 点击modify options
  • 选中 program arguments, 输入--spring.profiles.active=eureka 其中--spring.profiles.active是固定写法,eureka是对应yml文件的名字
  • 其他配置文件同理
  1. 访问得到的效果如图:

以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的启动方式,希望可以帮助到大家。

相关推荐
蓝黑202022 分钟前
IntelliJ IDEA常用快捷键
java·ide·intellij-idea
Grey_fantasy2 小时前
高级编程之结构化代码
java·spring boot·spring cloud
尘浮生4 小时前
Java项目实战II基于微信小程序的校运会管理系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
.生产的驴5 小时前
SpringCloud OpenFeign用户转发在请求头中添加用户信息 微服务内部调用
spring boot·后端·spring·spring cloud·微服务·架构
小林想被监督学习5 小时前
idea怎么打开两个窗口,运行两个项目
java·ide·intellij-idea
HoneyMoose5 小时前
IDEA 2024.3 版本更新主要功能介绍
java·ide·intellij-idea
是老余5 小时前
本地可运行,jar包运行错误【解决实例】:通过IDEA的maven package打包多模块项目
java·maven·intellij-idea·jar
crazy_wsp5 小时前
IDEA怎么定位java类所用maven依赖版本及引用位置
java·maven·intellij-idea
尘浮生9 小时前
Java项目实战II基于微信小程序的电影院买票选座系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
计算机毕设指导610 小时前
基于 SpringBoot 的作业管理系统【附源码】
java·vue.js·spring boot·后端·mysql·spring·intellij-idea