【springcloud学习(dalston.sr1)】Eureka服务端集群的搭建(含源代码)(二)

news2025/7/14 15:11:29

该系列项目整体介绍及源代码请参照前面写的一篇文章【springcloud学习(dalston.sr1)】项目整体介绍(含源代码)(一)

这篇文章主要介绍多个eureka服务端的集群环境是如何搭建的。

(一)eureka的简要说明

Eureka是用来进行服务注册与发现的。类似于一栋写字楼,有很多公司入驻,但入驻前需要先在大楼的物业处进行注册登记。Eureka也分为服务端和客户端,服务端是提供服务注册和服务发现,通过访问服务端,能获取到一个服务注册列表。客户端则需要访问服务端,以将自己注册到服务端。类似于写字楼的物业公司,通常自己不用注册,但其他入驻的公司,需要在物业处进行注册,其他公司在物业处,能获取到注册登记的公司列表。

(二)eureka服务端集群搭建

(1)新建3个module

这里通过了3个模块,来模拟eureka服务端集群的搭建。首先在IDEA的springcloud2025项目中新建了3个module,如下图。

(2)在新建号的module中,比如microservicecloud-eureka-7001模块中,在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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>springcloud2025</artifactId>
        <groupId>com.company</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>microservicecloud-eureka-7001</artifactId>

    <!-- Eureka-server服务端 -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
        </dependency>
    </dependencies>

</project>

(3)主机域名地址映射修改,通过修改路径C:\Windows\System32\drivers\etc\hosts文件,增加3个域名映射。这样访问http://eureka7001.com的效果等同于访问http://localhost(当然访问http://eureka7002.com的效果也同样等同于访问http://localhost),这里只是在一台机器上模拟不同域名的主机,所以就这样处理了下。实际项目场景中应该是不同的主机。

(4)编写microservicecloud-eureka-7001项目的application.yml文件,如下图,其中配置了当前项目的端口号为7001,并设置了eureka服务端主机名称为eureka7001.com(这里另外2个eureka服务的主机名分别是eureka7002.com、eureka7003.com,这里涉及到主机域名地址映射修改,后面会提到)。需要注意的是服务端自己不注册自己,也不需要检索服务,所以配置项eureka.client.register-with-eureka和eureka.client.fetch-register的值都为false,由于是集群搭建,也需要提供另外两个eureka服务端的地址,也即配置eureka.client.service-url.defaultZone=http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/。由于当前服务部署的主机对应域名为eureka7001.com,这里的defaultZone就需要配置成另外两个http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/,这样是为了起到集群的作用(如果不做eureka集群,则这里的地址直接填写为本机地址即可,也即http://localhost:7001/eureka)。

server:
  port: 7001

eureka:
  instance:
    hostname: eureka7001.com  #eureka服务端的实例名称
  client:
    register-with-eureka: false #false表示不向注册中心注册自己
    fetch-register: false #false表示自己端就是注册中心,我的职责就是维护服务实力,并不需要去检索服务
    service-url:
      defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/ # http://${eureka.instance.hostname}:${server.port}/eureka/ #设置与erueka server交互的地址查询服务和注册服务,都需要依赖于这个地址

(5)在启动类上加@EnableEurekaServer注解,已启用eureka服务,并表明当前服务是eureka的服务端。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class EurekaServer7001Application {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServer7001Application.class, args);
    }
}

项目结构如下:

(6)经过以上步骤,项目microservicecloud-eureka-7001就配置好了。参照这个项目,同样新建另外两个microservicecloud-eureka-7002和microservicecloud-eureka-7003。需要注意的是配置文件信息稍有差别。比如microservicecloud-eureka-7002的配置文件为

server:
  port: 7002

eureka:
  instance:
    hostname: eureka7002.com  #eureka服务端的实例名称,如果没有做eureka集群,这里直接填localhost即可
  client:
    register-with-eureka: false #false表示不向注册中心注册自己
    fetch-register: false #false表示自己端就是注册中心,我的职责就是维护服务实力,并不需要去检索服务
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/ #设置与erueka server交互的地址查询服务和注册服务,都需要依赖于这个地址

microservicecloud-eureka-7003的yml配置文件为

server:
  port: 7003

eureka:
  instance:
    hostname: eureka7003.com  #eureka服务端的实例名称
  client:
    register-with-eureka: false #false表示不向注册中心注册自己
    fetch-register: false #false表示自己端就是注册中心,我的职责就是维护服务实力,并不需要去检索服务
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/ #设置与erueka server交互的地址查询服务和注册服务,都需要依赖于这个地址

(7)然后可以启动项目了,首先启动microservicecloud-eureka-7001。需要注意的是由于构建的是集群项目,所以这个项目启动时,另外2个项目还未启动,所以控制台可能报如下错误,可以暂时忽略。此时再依次启动另外microservicecloud-eureka-7002项目和microservicecloud-eureka-7003项目(启动microservicecloud-eureka-7002、microservicecloud-eureka-7003时,由于前面已经启动了microservicecloud-eureka-7001项目,所以这两个项目启动过程中不会报以下错误)

3个项目启动完成后,我们可以在浏览器中输入http://eureka7001.com:7001访问(这里依赖于前面第3部配置的主机名和地址映射,或者直接输入http://localhost:7001也能访问),看到如下页面,即表示eureka服务启动正常了。类似的在浏览器中输入http://eureka7002.com:7002和http://eureka7003.com:7003也是类似的效果

(8)通过上述步骤,由3个项目搭建的eureka服务端集群就搭建好了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2376959.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

崩坏星穹铁道 3.3 版本前瞻活动攻略:在黎明升起时坠落

《崩坏星穹铁道》3.3 版本 “在黎明升起时坠落” 将于 5 月 21 日正式上线。本次版本更新内容丰富&#xff0c;新角色、新地图、新活动和新周本 BOSS 等精彩内容&#xff0c;等待开拓者们前去体验。下面就为大家带来 3.3 版本的前瞻活动攻略。 一、新角色与卡池 1.上半卡池&am…

OneNote内容太多插入标记卡死的解决办法

OneNote内容太多插入标记卡死的解决办法 针对平板电脑的OneNote用户适合此类情况&#xff1a; 当向电脑导入几百页pdf可以正常使用&#xff0c;唯独插入标记的时候OneNote直接罢工&#xff0c;只能关闭。关闭时还可能会出现0x000000fxxxxx的错误。 注&#xff1a;仅对于平板…

fpga系列 HDL : Microchip FPGA开发软件 Libero Soc 安装 license申请

启动 注册账号&#xff1a;https://login.microchip.com/申请免费许可&#xff1a;https://www.microchipdirect.com/fpga-software-products C:\Windows\System32>vol驱动器 C 中的卷是 Windows卷的序列号是 ****-****为“D:\Microsemi\License.dat”创建环境变量“LM_LICE…

极简主义现代商务风格PPT模版6套一组分享下载

现代商务风格PPT模版下载https://pan.quark.cn/s/12fbc52124d9 第一张PPT模版&#xff0c;简约风&#xff0c;橄榄绿背景&#xff0c;黑色竖条装饰&#xff0c;文字有中英文标题和占位符。需要提取关键元素&#xff1a;简约、橄榄绿、对称布局、占位文本的位置。 风格​&#…

解码生命语言:深度学习模型TranslationAI揭示RNA翻译新规则

RNA翻译是基因表达的核心环节&#xff0c;其精确调控依赖于翻译起始位点&#xff08;TIS&#xff09;和终止位点&#xff08;TTS&#xff09;的准确识别。传统方法依赖于简单的经验规则&#xff08;如Kozak序列或最长开放阅读框ORF&#xff09;&#xff0c;但忽略了RNA结构、顺…

重磅发布!OpenAI 推出最新模型 GPT-4.1 系列!

今日凌晨&#xff0c;OpenAI宣布开放全新模型GPT-4.1&#xff0c;并于即日起在ChatGPT中投入使用。 超长上下文与卓越编码能力 GPT-4.1作为OpenAI的最新模型&#xff0c;支持长达100万tokens的上下文&#xff0c;是OpenAI首次发布的长窗口模型。相较于前代&#xff0c;GPT-4.1…

sqli-labs靶场第七关——文件导出注入

一&#xff1a;目标 通过sql注入将php代码写入网站目录&#xff0c;通过这个php文件执行命令 二&#xff1a;确认前置条件 %secure_file_priv% 首先我们需要Mysql是否允许导出文件 先尝试在网页中sql注入&#xff0c;检查导出权限 ?id1)) union select 1,secure_file_pr…

解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs-docker MCP解析

解密企业级大模型智能体Agentic AI 关键技术&#xff1a;MCP、A2A、Reasoning LLMs-docker MCP解析 这里面有很重要的原因其中一个很其中一个原因是因为如果你使用docker的方式&#xff0c;你可以在虚拟环境下就类似于这个沙箱的这个机制可以进行隔离。这对于安全&#xff0c;…

OpenCV图像旋转原理及示例

OpenCV计算机视觉开发实践&#xff1a;基于Qt C - 商品搜索 - 京东 图像旋转是数字图像处理的一个非常重要的环节&#xff0c;是图像的几何变换手法之一。图像旋转算法是图像处理的基础算法。在数字图像处理过程中&#xff0c;经常要用到旋转&#xff0c;例如在进行图像扫描时…

【实战篇】数字化打印——打印部署管理接口开发

前言 前面的章节已经介绍了打印管理模块的主要界面设计&#xff0c;本篇介绍用myBuilder开发界面接口&#xff0c;实现最终的功能。 1. 配置打印应用菜单 首先配置挂载好模块菜单 让菜单点击能访问到对应的页面 2. 打印部署管理数据表详细设计 以下是打印部署管理的数据表字…

MacOS Python3安装

python一般在Mac上会自带&#xff0c;但是大多都是python2。 python2和python3并不存在上下版本兼容的情况&#xff0c;所以python2和python3可以同时安装在一台设备上&#xff0c;并且python3的一些语法和python2并不互通。 所以在Mac电脑上即使有自带python&#xff0c;想要使…

idea启动报错:java: 警告: 源发行版 11 需要目标发行版 11(亲测解决)

引起原因 idea的jdk没有替换干净 1.配置project file–Project Structrue–Project 2.配置Modules-Sources file–Project Structrue–Modules-Sources 改为jdk11 3.配置Modules-Dependencies file–Project Structrue–Modules-Dependencies

《Adversarial Sticker: A Stealthy Attack Method in the Physical World》论文分享(侵删)

原文链接&#xff1a;Adversarial Sticker: A Stealthy Attack Method in the Physical World | IEEE Journals & Magazine | IEEE Xplore author{Xingxing Wei and Ying Guo and Jie Yu} 摘要 为了评估深度学习在物理世界中的脆弱性&#xff0c;最近的工作引入了对抗补丁…

嵌入式STM32学习——继电器

继电器模块引脚说明 VCC&#xff08;&#xff09;&#xff1a; 供电正极。连接此引脚到电源&#xff08;通常是直流电源&#xff09;&#xff0c;以提供继电器线圈所需的电流。 GND&#xff08;-&#xff09;&#xff1a; 地。连接此引脚到电源的负极或地。 IN&#xff08;或…

从基础到实习项目:C++后端开发学习指南

在当今技术快速迭代的背景下&#xff0c;后端开发作为软件工程的核心支柱持续发挥着关键作用。C凭借其卓越的性能表现和系统级控制能力&#xff0c;依然是构建高性能后端服务的首选语言之一。本文将系统性地解析现代C后端开发的核心技术体系&#xff0c;包括从语言特性精要到架…

Xinference推理框架

概述 GitHub&#xff0c;官方文档。 核心优势 性能优化&#xff1a;通过vLLM、SGLang等引擎实现低延迟推理&#xff0c;吞吐量提升2-3倍&#xff1b;企业级支持&#xff1a;支持分布式部署、国产硬件适配及模型全生命周期管理&#xff1b;生态兼容&#xff1a;无缝对接LangC…

前端ECS简介

ECS概念 ECS是一种软件架构模式&#xff0c;常见于游戏业务场景&#xff0c;其主要对象分类为 • Entity 实体,ECS架构中所有的业务对象都必须拥有一个唯一的Entity实体 • Component 组件,存储着数据结构,对应着某一种业务属性,一个Entity上可以动态挂载多个Component • …

Dify与n8n全面对比指南:AI应用开发与工作流自动化平台选择【2025最新】

Dify与n8n全面对比指南&#xff1a;AI应用开发与工作流自动化平台选择【2025最新】 随着AI技术与自动化工具的迅速发展&#xff0c;开发者和企业面临着多种平台选择。Dify和n8n作为两个备受关注的自动化平台&#xff0c;分别专注于不同领域&#xff1a;Dify主要面向AI应用开发&…

【深度学习之四】知识蒸馏综述提炼

知识蒸馏综述提炼 目录 知识蒸馏综述提炼 前言 参考文献 一、什么是知识蒸馏&#xff1f; 二、为什么要知识蒸馏&#xff1f; 三、一点点理论 四、知识蒸馏代码 总结 前言 知识蒸馏作为一种新兴的、通用的模型压缩和迁移学习架构&#xff0c;在最近几年展现出蓬勃的活力…

redis解决常见的秒杀问题

title: redis解决常见的秒杀问题 date: 2025-03-07 14:24:13 tags: redis categories: redis的应用 秒杀问题 每个店铺都可以发布优惠券&#xff0c;保存到 tb_voucher 表中&#xff1b;当用户抢购时&#xff0c;生成订单并保存到 tb_voucher_order 表中。 订单表如果使用数据…