【云原生】微服务SpringCloud-eureka(server)集群搭建

目录

工作原理:

eureka 高可用集群

项目创建:

 Maven 依赖

本地hosts文件修改

启动服务测试

工作原理:

Spring Cloud框架下的服务发现Eureka包含两个组件

分别是: Eureka ServerEureka Client
Eureka Server,也称为服务注册中心。各个服务启动后,会在Eureka Server中进行注册,这样Eureka Server的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
Eureka Client也称为服务(服务实例)。作为一个Java客户端,用于简化与Eureka Server的交互。Eureka Client内置一个 使用轮询负载算法的负载均衡器。服务启动后,Eureka Client将会向Eureka Server发送心跳更新服务,如果Eureka Server在多个心跳周期内没有接收到某个服务的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。

Eureka组件的工作原理和核心功能点

上面的图有三台 Eureka Server 组成的集群,每一台 Eureka Server服务在不同的地方。这样三台 Eureka Server 就组建成了一个高可用集群服务,只要三个服务有一个能一直正常运行,就不会影响整个架构的稳定性。
 

eureka 高可用集群

Eureka服务是一个单点服务,在生产环境就会出现单点故障,为了确保Eureka服务的高可用,我需要搭建Eureka服务的集群。搭建Eureka集群非常简单,只要启动多个Eureka Server服务并且让这些Server端之间彼此进行注册即可实现

 在我们实际的开发生产环境中,eureka 常常是以集群的方式提供服务的,目的就是要保证高可用性,同时它还保证了分区容错性。这也满足了一个健壮的分布式微服务所要求的 CAP 理论原则,即 eureka 保证了高可用性,分区容错性。

项目创建:

 项目搭建的主要步骤和配置就是创建项目和引入pom依赖。新建3个eureka注册中心

  @EnableEurekaServer:项目启动类上使用@EnableEurekaServer注解/项目就是SpringCloud的注册中心。

YML配置

配置3个eureka-server的application.yml

server:port: 7001
#Eureka
eureka:instance:hostname: eureka7001.com     #Eureka服务端实例名字client:register-with-eureka: false  #表示是否向Eureka注册中心注册自己(服务器端不需要)fetch-registry: false  #false表示自己就是注册中心service-url:defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/

Maven 依赖

<?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><groupId>com.liy</groupId><artifactId>eurekaserver-7001</artifactId><version>0.0.1-SNAPSHOT</version><name>eurekaserver-7001</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.3.0.RELEASE</spring-boot.version><spring-cloud.version>Hoxton.SR4</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><dependency><groupId>com.liy</groupId><artifactId>eurekaserver-7001</artifactId><version>0.0.1-SNAPSHOT</version><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

本地hosts文件修改

需要配置三个hostname、否则无法集群  

在C:\Windows\System32\drivers\etc\hosts 文件类增加
127.0.0.1   eureka7001.com
127.0.0.1   eureka7002.com
127.0.0.1   eureka7003.com注册集群的三个端口分别为
7001/7002/7003

启动服务测试

启动三个eureka-server进行访问测试

 下面 这里表示这有2个注册中心的集群节点、当前的注册中心会从这两个节点进行同步服务、可以通过我们配置的hostname来进行识别。

  查看当前注册中心的集群节点。

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

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

相关文章

log解析工具 px4_console.log(console.log) = ?

在开始今天的内容之前&#xff0c;先想一下 console.log(console.log) 的结果是啥。前面有一篇文章 别担心把 console 带到线上 介绍了关于 console 在线上不打印的操作&#xff0c;今天我给大家普及另外一种技巧&#xff1a;通过 url 参数控制。比如线上访问地址是&#xff1a…

基于Java+SpringBoot+vue实现图书借阅和销售商城一体化系统

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计✌ &#x1f345;文末获取源码联系&#x1f345; 精彩专栏推荐&#x1f447;&#x1…

2008 r2 server sql 中文版补丁_Microsoft SQL Server 2008 R2 SP1补丁 32位 官方免费版(附安装教程)...

SQL Server 2008 R2 SP1 补丁是sql 2008 r2的升级版本&#xff0c;是由微软推出的一款数据库管理系统&#xff0c;主要方便用户对数据库进行开发、管理、查询等操作&#xff0c;支持存储过程、触发器、函数和视图等操作&#xff0c;不过需要配合Microsoft .net framework 2.0组…

【云原生】开源数据分析 SPL 轻松应对 T+0

T0问题 T0查询是指实时数据查询&#xff0c;数据查询统计时将涉及到最新产生的数据。在数据量不大时&#xff0c;T0很容易完成&#xff0c;直接基于生产数据库查询就可以了。但是&#xff0c;当数据量积累到一定程度时&#xff0c;在生产库中进行大数据量的查询会消耗过多的数…

这款国产API神器工具也太强了吧...让我放弃了postman

今天我发现了一款国产化的API工具&#xff0c;去官网看了下它的中文页面&#xff0c;觉得很干净、倍感亲切&#xff0c;我感觉Eolink结合了postman 和 swagger 的优点。摒弃了不足、甚至发生了公开踩踏事件&#xff0c;最近国产API管理工具越来越卷&#xff0c;但最后还是要回归…

vue获取table一列数据_VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)...

一、问题用elementUi横着增加一行数据没毛病&#xff0c;可以操作添加一列&#xff0c;这新增的这一列&#xff0c; 第一次去赋值的时候值是改了&#xff0c; 但没生效点击下一行时 值就变过来二、原因横向添加 是复制上面的某一条数据来的&#xff0c;因为data里面有这些属性的…

快收藏!最适合计算机大学生的Java毕业设计项目--音乐视频网站系统!

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计✌ &#x1f345;文末获取源码联系&#x1f345; 精彩专栏推荐&#x1f447;&#x1…

android 创建单例对话框_Android自定义单例AlertDialog详解

当Android开发处理错误信息时&#xff0c;经常会以Dialog的形式显示错误信息&#xff0c;但是每次都new一个Dialog&#xff0c;很麻烦&#xff0c;也增加程序的开销&#xff0c;所以今天就分享一种自定义单例AlertDialogpublic class AlertDialog {private static AlertDialog …

基于Java+SpringBoot+mybatis+vue+element实现旅游管理系统

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计✌ &#x1f345;文末获取联系&#x1f345; 精彩专栏推荐&#x1f447;&#…

基于Java+SpringBoot+vue+elementui社区疫情防控系统详细设计实现

博主介绍&#xff1a;✌公司项目主程、全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计✌ &#x1f345;文末获取联系&#x1f345; 精彩专栏推荐&…

creo外观库_Proe软件技巧,颜色库下载及其使用方法揭晓

Proe软件技巧&#xff0c;颜色库下载及其使用方法揭晓所谓熟能生巧&#xff0c;尤其是在三维软件当中&#xff0c;通过不断的练习和实践你能够获得更多的技巧和经验。Proe提供的系统颜色有时并不能满足我们的设计需要&#xff0c;如果我们采用自定义颜色方法可能会降低我们的效…

基于Java+SpringBoot+vue+elementui药品商城采购系统详细设计实现

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计项目实战✌ &#x1f345;文末获取联系&#x1f345; 精彩专栏推荐&#x1f447;&a…

嵌套页面h5怎么调起手机文件_让微信公众号文章排版像网页h5一样高大上

做过微信公众号文章排版的同学都知道&#xff0c;微信自己的排版工具只能排些简单的图文混合。遇到这种同况时&#xff0c;很多同学会考虑用第三方编辑器或直接用他们的模板&#xff0c;然后稍微改改便直接发布。 没有我想要的排版样式怎么办&#xff0c;可以自己设计吗&#x…

基于JavaSpringMVC+vue实现协同过滤电影推荐系统详细设计

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计项目实战✌ &#x1f345;文末获取联系&#x1f345; 精彩专栏推荐&#x1f447;&a…

Java开源专业计算引擎:跑批真的这么难吗?

业务系统产生的明细数据通常要经过加工处理&#xff0c;按照一定逻辑计算成需要的结果&#xff0c;用以支持企业的经营活动。这类数据加工任务一般会有很多个&#xff0c;需要批量完成计算&#xff0c;在银行和保险行业常常被称为跑批&#xff0c;其它像石油、电力等行业也经常…

8a 中断 传感器采集_加速度传感器的安装,你get了吗

加速度传感器的安装方法不同&#xff0c;对频响曲线的影响也有差异。加速度传感器的固有频率是否发生变化&#xff0c;取决于使用的安装方法(手持、磁铁、胶水、螺栓等)。从表1可知&#xff0c;用螺栓安装在打磨良好的干净平面上时&#xff0c;频响最高&#xff0c;胶水和磁铁的…

基于Java+SpringBoot+vue+elementui农产品物流系统详细设计实现

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计项目实战✌ &#x1f345;文末获取联系&#x1f345; 精彩专栏推荐&#x1f447;&a…

评估指标_机器学习评估方法与评估指标总结

离线评估方法离线评估的基本原理是在离线环境中&#xff0c;将数据集划分为“训练集”和“测试集”&#xff0c;用“训练集”训练模型&#xff0c;用“测试集”评估模型&#xff0c;根据数据集划分方法的不同&#xff0c;离线评估可以分为以下3种。Holdout检验Holdout检验是基础…

猿创征文|基于Java+SpringBoot+vue学生学习平台详细设计实现

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计项目实战✌ &#x1f345;文末获取联系&#x1f345; 精彩专栏推荐&#x1f447;&#x1…

搞 AI 建模预测都在用 Python,其实入门用 SPL 也不错

可用来做人工智能建模预测的工具非常多&#xff0c;比如Python, R, SAS&#xff0c;SPSS等&#xff0c;其中Python由于简单易学、丰富的数据科学库、开源免费等特点备受欢迎。但是对于不太熟悉数据建模算法的程序员来说&#xff0c;使用Python建模还是比较复杂&#xff0c;很多…