当前位置: 首页 > 编程笔记 >

Spring-Cloud Eureka注册中心实现高可用搭建

隆睿
2023-03-14
本文向大家介绍Spring-Cloud Eureka注册中心实现高可用搭建,包括了Spring-Cloud Eureka注册中心实现高可用搭建的使用技巧和注意事项,需要的朋友参考一下

前言:

spring-cloud为基础的微服务架构,所有的微服务都需要注册到注册中心,如果这个注册中心阻塞或者崩了,那么整个系统都无法继续正常提供服务,所以,这里就需要对注册中心进行集群,换言之,高可用(HA)

前提:

阅读并完成第一个注册中心的项目,环境无需改变。本文是 模拟的高可用 , 可以复制两个注册中心的项目单独修改各自的配置文件达到同样的效果

修改hosts,在文件末添加两行如下:

127.0.0.1 peer1
127.0.0.1 peer2

推荐使用notepad++,如果是win10会提醒提权限,确定,然后保存即可。

项目搭建:

打开注册中心的项目,在src/resources下创建一个application-peer1.properties

#应用名
spring.application.name=eureka-server
#提供服务端口1111
server.port=1111
#提供服务的域名,这里在hosts文件中修改了
eureka.instance.hostname=peer1
#向第二个注册中心注册自己
eureka.client.service-url.defaultZone=http://peer2:1112/eureka/

在src/resources下创建一个application-peer2.properties

#应用名称与第一个注册中心一样
spring.application.name=eureka-server
#提供服务端口1112
server.port=1112
#提供服务的域名,这里在hosts文件中修改了
eureka.instance.hostname=peer2
#向第一个注册中心注册自己
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/

本文使用idea进行测试,首先需要对这个项目进行打成jar包,因为在pom.xml中已经引入了maven编译工具和打包工具并指定打包格式为jar包,这里直接操作,屏幕右上方

打包完成,该jar包位于target文件夹下,如图

如图打开terminal,屏幕下方

打开terminal之后,因为jar包在target目录下,而当前目录为项目目录,所以先cd到target目录下,然后输入如下命令:

小技巧:输入命令的时候为了防止输错文件名,可以输入文件名的前几个字母,然后使用tab键进行自动补全

java -jar EurekaServerDemo-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1

输入完成此命令后,peer1配置文件的项目启动,如图

接下来我们启动第二个项目,这里需要另开一个terminal,cd到target目录

注意:我们这里用的是同一个项目,读者可以使用两个项目进行测试,需要特别注意的是端口不要冲突了

java -jar EurekaServerDemo-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

等待项目启动完成,查看有无报错。

测试:

浏览器输入:localhost:1112进行查看,也可以输入localhost:1111进行查看

结语:

在设置了多节点的注册中心后,实现了高可用,但是此时我们的微服务应用仅仅是注册到这一个服务之中,所以,我们需要将新节点的注册服务路径同样配到微服务应用中。

多节点间使用","分开,如图

这样微服务提供者从其中一个地方断开之后,因为在其他节点有注册,所以还可以提供服务,如果不想使用主机名进行访问注册中心,也可以使用ip,但是需要先添加一条配置,该值默认false

eureka.instance.prefer-ip-address=true

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍springcloud实现注册中心Eureka,包括了springcloud实现注册中心Eureka的使用技巧和注意事项,需要的朋友参考一下 Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是springcloud体系中最重要最核心的组件之一。 背景介绍 服务中心 服务中心又称注

  • 本文向大家介绍spring cloud alibaba Nacos 注册中心搭建过程详解,包括了spring cloud alibaba Nacos 注册中心搭建过程详解的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了spring cloud alibaba Nacos 注册中心搭建过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考

  • 本文向大家介绍spring cloud实现Eureka注册中心的HA的方法,包括了spring cloud实现Eureka注册中心的HA的方法的使用技巧和注意事项,需要的朋友参考一下 前言: 在前面的例子中,我们的Eureka Server都是单节点的,一旦该节点在生产中挂掉,就无法再提供服务的注册,为了保证注册中心的高可用,在生产中一般采用多节点的服务注册中心。 一、在hosts文件中加入如下配

  • 注册中心配置 首先需要添加并激活注册中心。可以添加多个注册中心,但只能有一个处于激活状态,后面的运行状态功能都是针对当前已激活的注册中心进行操作。 目前提供 Zookeeper 和 etcd 的支持,后续会添加第三方注册中心的支持。 点击 + 按钮可以添加新注册中心。 通过配置扩展配置中心来使用其它配置中心管理配置。 支持编辑、激活和删除注册中心操作。

  • 实现动机 配置集中化:越来越多的运行时实例,使得散落的配置难于管理,配置不同步导致的问题十分严重。将配置集中于配置中心,可以更加有效进行管理。 配置动态化:配置修改后的分发,是配置中心可以提供的另一个重要能力。它可支持数据源和规则的动态切换。 存放运行时的动态/临时状态数据,比如可用的 ShardingSphere 的实例,需要禁用或熔断的数据源等。 提供熔断数据库访问程序对数据库的访问和禁用从库

  • 什么是注册中心?注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就到这里找到服务的地址,进行调用.比如Seata Client端(TM,RM),发现Seata Server(TC)集群的地址,彼此通信. Seata的注册中心与Dubbo,Spring cloud的注册中心区别是?在广义上来说,并无区别,只不过D