当前位置: 首页 > news >正文

搭建Eureka高可用集群 - day03

全部代码发出来了

搭建服务提供者

步骤:

1.创建项目,引入依赖

2.添加Eureka相关配置

3.添加@EnableEurekaClient注解

4.测试运行

步骤1:创建项目,引入依赖

使用Spring Initializr方式创建一个名称为eureka-provider的Spring Boot项目,这里将Group命名为com.bushuo,将Artifact命名为eureka-provider,在pom.xml文件中添加Web、Eureka Client依赖。

在pom文件中添加的Eureka Client、Web依赖如下:

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.bushuo</groupId><artifactId>eureka-provider</artifactId><version>0.0.1-SNAPSHOT</version><name>eureka-provider</name><description>Demo project for Spring Boot</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>1.8</java.version></properties><dependencies><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.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.9.10</version><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Finchley.SR2</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>

在这里插入图片描述
在这里插入图片描述

步骤2:添加Eureka的相关配置

在全局配置文件application.yml中添加Eureka的相关配置信息。
在这里插入图片描述

步骤3:在项目启动类添加@EnableEurekaClient注解

在项目启动类EurekaProviderApplication上添加@EnableEurekaClient注解开启Eureka Client功能。
在这里插入图片描述

步骤4:测试运行

两个项目都要启动

启动eureka-provider项目,

在浏览器中访问http://localhost:7071,观察注册列表变化。

在这里插入图片描述

搭建服务消费者

步骤:

1.创建项目,引入依赖

2.添加Eureka相关配置

3.添加@EnableEurekaClient注解

4.测试运行

步骤1:创建项目,引入依赖

使用Spring Initializr方式创建一个名称为eureka-consumer的Spring Boot项目,这里将Group命名为com.bushuo,将Artifact命名为eureka-consumer,添加Web、Eureka Client依赖。详细内容同搭建服务提供者。

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.bushuo</groupId><artifactId>eureka-consumer</artifactId><version>0.0.1-SNAPSHOT</version><name>eureka-consumer</name><description>Demo project for Spring Boot</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>1.8</java.version></properties><!-- 依赖管理 --><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><!-- Spring Boot Web应用启动器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- Spring Boot 测试启动器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.9.10</version><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Finchley.SR2</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>

步骤2:添加Eureka的相关配置

在全局配置文件application.yml中添加Eureka的相关配置信息。
在这里插入图片描述

步骤3:在项目启动类添加@EnableEurekaClient注解

同样在项目启动类EurekaConsumerApplication上添加@EnableEurekaClient注解开启Eureka Client功能。
在这里插入图片描述

在这里插入图片描述

server项目重新启动

在这里插入图片描述

搭建Eureka高可用集群

步骤:

1.使用SpringInitializr方式创建一个父工程

2.将创建的三个eureka项目复制到父工程中,并更新成Maven项目

3.父工程中创建子项目

步骤1:使用SpringInitializr方式创建一个父工程

使用SpringInitializr方式创建一个项目eureka-demo;

步骤2:将创建的三个eureka项目复制到父工程中,并更新成Maven项目

找到当前项目的工作空间,将创建好的3个eureka项目复制到eureka-demo中。
在这里插入图片描述
再打开idea页面,eureka-demo项目下就有了以上3个项目模块:
在这里插入图片描述
点开每个子项目模块,将它们都转换成maven项目:pom文件上右键->Add as Maven Project。
在这里插入图片描述
转换后pom文件前面的标识变成蓝色即可,如下:
在这里插入图片描述
如果idea的server的窗口没有,可以点击这个看看
将项目启动就可以在窗口观察到。
在这里插入图片描述

步骤:

1.更改系统hosts文件配置

2.改造Eureka Server

3.改造服务提供者

4.改造服务消费者

5.测试运行

步骤1:更改系统hosts文件配置

以 Windows系统为例,如果要构建集群,需要修改 hosts 文件,为其添加主机名的映射。

打开C:\Windows\System32\drivers\etc\hosts 文件,添加以下内容:

127.0.0.1 server1

127.0.0.1 server2
将hosts的文件复制到桌面,进行添加。添加完后,将文件替换
在这里插入图片描述

步骤2:改造Eureka Server

按照搭建eureka-server的方式,再搭建一个名为eureka-server-another 的Eureka Server。

eureka-server-another的application.yml配置文件内容如下:
在这里插入图片描述
更改eureka的application.yml配置文件内容如下:
在这里插入图片描述

步骤3:改造服务提供者

按照搭建eureka-provider的方式,搭建一个名为eureka-provider-another的服务提供者。

eureka-provider-another的application.yml配置文件内容如下:
在这里插入图片描述

更改eureka-provider的application.yml配置文件内容如下:
在这里插入图片描述

步骤4:改造服务消费者

修改项目eureka-consumer中的全局配置文件application.yml。服务器名称的添加
在这里插入图片描述

步骤5:测试运行

依次启动两个Eureka Server、两个服务提供者、一个服务消费者。启动成功后,访问server1:7071的页面效果如下:
在这里插入图片描述
访问server1:7009的页面效果如下:
在这里插入图片描述
俩个服务器是相同的注册实例
说明Eureka集群的数据同步工作正常:这意味着一个Eureka Server上的注册信息能够被复制到另一个Eureka Server上,确保了数据的一致性。这是Eureka集群高可用性的关键特性之一。
客户端服务能够发现并注册到任一Eureka Server:这表明客户端服务能够通过Eureka客户端库自动发现并注册到集群中的任何活动节点,即使其中一个节点不可用,也能保证服务发现的连续性。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ollama语言大模型部署使用
  • 408(笔试)
  • AIGC图片相关知识和实战经验(Flux.1,ComfyUI等等)
  • 【深度智能】:迈向高级时代的人工智能全景指南
  • redis中的5中数据结构
  • 传神论文中心|第25期人工智能领域论文推荐
  • [数据集][目标检测]高铁受电弓检测数据集VOC+YOLO格式1245张2类别
  • 嵌入式硬件基础知识
  • 【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
  • 【笔记】自动驾驶预测与决策规划_Part1_自动驾驶决策规划简介
  • 【03】深度学习——神经网络原理 | 多层感知机 | 前向传播和反向传播 | 多层感知机代码实现 | 回归问题、分类问题 | 多分类问题代码实现
  • 配置网络yum源
  • BolckingQueue
  • AI嘴替:黑神话悟空
  • SSHamble:一款针对SSH技术安全的研究与分析工具
  • JavaScript-如何实现克隆(clone)函数
  • JavaScript 基础知识 - 入门篇(一)
  • leetcode讲解--894. All Possible Full Binary Trees
  • MySQL几个简单SQL的优化
  • quasar-framework cnodejs社区
  • Spring核心 Bean的高级装配
  • vue数据传递--我有特殊的实现技巧
  • webpack4 一点通
  • 从setTimeout-setInterval看JS线程
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 猴子数据域名防封接口降低小说被封的风险
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • ------- 计算机网络基础
  • 记一次用 NodeJs 实现模拟登录的思路
  • 三栏布局总结
  •  一套莫尔斯电报听写、翻译系统
  • 异步
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • # 计算机视觉入门
  • #大学#套接字
  • $.ajax()
  • (31)对象的克隆
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (9)STL算法之逆转旋转
  • (C语言)共用体union的用法举例
  • (LeetCode) T14. Longest Common Prefix
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • .bashrc在哪里,alias妙用
  • .java 9 找不到符号_java找不到符号
  • .Mobi域名介绍
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .net core 管理用户机密
  • .Net Core 微服务之Consul(二)-集群搭建