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

news/2025/1/31 0:43:37/

上一篇集群配置文件完善

上一篇博客,想必大家都学会了Eureka集群模式的搭建和运行,针对上一篇的配置文件进行了优化,在这里分享给大家。上一篇主要有3个配置文件,分别对应3个不同的服务,这种形式配置文件分别写在了不同的文件中,对于配置文件的管理过于臃肿,下面分享一种,一个配置文件就解决的问题:
上代码:

#---------------------------------------------- eureka 注册中心配置 ----------------------------------------------------
spring:application:name: eureka-serverprofiles: eureka # 【eureka服务器集群 —— 节点1】,用于main方法启动的时候,用户需要输入的内容。标识启动的是哪一个eureka服务器;
server:port: 1111eureka:instance:#eureka服务端的实例名称hostname: eurekaclient:# 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*10000eviction-interval-timer-in-ms: 3000#关闭自我保护模式enable-self-preservation: false
logging:file: ${spring.application.name}.log# 注意下面是三个横杠:在单一文件中,可用连续三个连字号(---)区分多个文件(节省多个yml文件的配置,在一个yml文件中就可配置)。---
#---------------------------------------------- eureka01 注册中心配置 ----------------------------------------------------
spring:application:name: eureka-serverprofiles: eureka01 # 【eureka服务器集群 —— 节点1】,用于main方法启动的时候,用户需要输入的内容。标识启动的是哪一个eureka服务器;
server:port: 1112eureka:instance:#eureka服务端的实例名称hostname: eureka01client:# 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*10000eviction-interval-timer-in-ms: 3000#关闭自我保护模式enable-self-preservation: false
logging:file: ${spring.application.name}.log---
#---------------------------------------------- eureka02 注册中心配置 ----------------------------------------------------
spring:application:name: eureka-serverprofiles: eureka02 # 【eureka服务器集群 —— 节点1】,用于main方法启动的时候,用户需要输入的内容。标识启动的是哪一个eureka服务器;
server:port: 1113eureka:instance:#eureka服务端的实例名称hostname: eureka02client:# 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*10000eviction-interval-timer-in-ms: 3000#关闭自我保护模式enable-self-preservation: false
logging:file: ${spring.application.name}.log

注意上面代码中三个横杠:在单一文件中,可用连续三个连字号(—)区分多个文件(节省多个yml文件的配置,在一个yml文件中就可配置)。

接下来在项目的启动文件中修改成如下代码:

public class EurekaServerApplication {//    public static void main(String[] args) {
//        new SpringApplicationBuilder(EurekaServerApplication.class).web(true).run(args);
//    }public static void main(String[] args) {System.out.println("============================================================= 开始启动eureka服务 =============================================================");System.out.println("请在控制台输入您要启动的 eureka 服务器的节点名称 —— [详细配置请查看application.yml 文件中配置的 spring.profiles 的值]");System.err.println("请输入 eureka 或者 eureka01 或者 eureka02");Scanner scanner = new Scanner(System.in);String profiles = scanner.nextLine();//让用户输入端口号new SpringApplicationBuilder(EurekaServerApplication.class).profiles(profiles).run(args);//启动项目System.out.println("============================================================= eureka服务启动成功 =============================================================");}}

以下是注意事项:

  • 由于当前案例环境,已经配置为eureka集群环境,既然是集群环境,则erueka服务器需要至少启动2个服务;

  • 在application.yml文件中已经配置了2台eureka服务器的配置,则在启动的时候,需要分别启动这2个eureka服务器;所以,就不能使用普通的 SpringApplication.run(EurekaServer.class,args); 来启动项目了;

  • 请通过下面的形式来指定你需要启动的eureka服务器是哪一个;需要使用SpringApplicationBuilder
    类。该类对SpringApplication进行了封装;

  • 【在控制台输入的时候,请输入你在application.yml中配置的 spring.profiles 的值(yml中配置的值分别是 eureka、eureka01、eureka02),代表着不同的eureka服务器;】

  • 【启动步骤就是,需要运行两次main方法,分别输入 eureka、eureka01、eureka02 即可启动3个eureka服务器】

    以上就是对Eureka集群模式搭建配置文件的完善相关,希望可以帮助到大家。


http://www.ppmy.cn/news/1172750.html

相关文章

【虚幻引擎UE】UE4/UE5 基于2D屏幕坐标获取场景3D坐标 射线检测(蓝图/C++)

UE4/UE5 基于2D屏幕坐标获取场景3D坐标 一、射线检测1)定义1)射线与3D场景中的物体交互的流程2)射线检测蓝图函数3)蓝图实现根据鼠标点击位置获取场景中的坐标值4)根据相机中心点获取场景中的坐标值5)射线检…

COS 音视频实践

对象存储 音视频处理概述-媒体处理实践-最佳实践-腾讯云 1、COS https://www.cnblogs.com/cloudstorageangel/p/15977032.html 全程:对象存储(Cloud Object Storage,COS);腾讯云提供的对象存储服务。 可以对音视频…

GaussDB数据库管理系统介绍

1.GaussDB的发展 2.GaussDB的生态 内部: 云化自动化方案。通过数据库运行基础设施的云化将DBA(数据库管理员)和运维人员的日常工作 自动化。外部: 采用与数据库周边生态伙伴对接与认证的生态连接融合方案,解决开发者/DBA难获取、应用难对接等…

RDB.js:适用于 Node.js 和 Typescript 的终极对象关系映射器

RDB.js 是适用于 Node.js 和 Typescript 的终极对象关系映射器,可与 Postgres、MS SQL、MySQL、Sybase SAP 和 SQLite 等流行数据库无缝集成。无论您是使用 TypeScript 还是 JavaScript(包括 CommonJS 和 ECMAScript)构建应用程序&#xff0c…

C# 通过IP获取Mac地址(ARP)

C# 通过IP获取Mac地址 [DllImport("Iphlpapi.dll")] private static unsafe extern int SendARP(Int32 dest, Int32 host, ref Int32 mac, ref Int32 length);[DllImport("Ws2_32.dll")] private static extern Int32 inet_addr(string ip);public static…

企业如何保护机密文件安全

企业如何保护机密文件安全,数据加密技术有哪些 随着公司业务的不断发展,公司机密文件的保护是一家公司不可忽视的问题。机密文件包含了企业的核心信息,如客户资料、产品方案、财务数据等。 安企神数据防泄密系统下载试用 企业数据一旦泄露…

Java Spring 通过 AOP 实现方法参数的重新赋值、修改方法参数的取值

AOP 依赖 我创建的项目项目为 SpringBoot 项目 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.3</version></parent><dependency><groupId…

部署Vue项目到githubPage中

上传Vue项目到githubPage 例如&#xff1a; 看我发布的地址 前提条件 1. github上有一个仓库并且仓库下有两个分支&#xff08;main 和 gh-pages&#xff09; 1.1 main分支保存你的vue项目源码&#xff08;react或者其他框架的都行&#xff09; 1.2 gh-pages分支保存的是你…