Spring Cloud | 实现Eureka Server 高可用服务注册中心全套解决方案

news2024/12/29 8:15:46

目录

  • 1、在搭建Eureka Server,配置高可用服务注册中心,配置3个Eureka Server:
  • 2、因为是在本地实现的话,需要在localhost加入三个服务,需要改变etc/hosts,linux系统通过vim /etc/hosts,
  • 3、如果是在测试或者是线上环境,准备三台应用服务器就可以了
  • 4、如果在idea中,可以用简单方法:
  • 5、**需要特别注意的是:所有注册到Eureka Server的服务,defaultZone要做相应的修改如下:**

1、在搭建Eureka Server,配置高可用服务注册中心,配置3个Eureka Server:

下面出现登录问题,需要参照给Eureka Server加上安全验证这篇文章:Spring Cloud (18) | 给Eureka Server加上安全验证

application.yml:

#安全验证
security:
  basic:
    enabled: true
  user:
    name: jack.ma
    password: 1qaz2wsx
spring:
  application:
    name: eureka-server-cluster
  profiles:
    active: server1

application-server1.yml:

server:
  port: 8761

eureka:
  instance:
    hostname: server1
#    prefer-ip-address: true
    instance-id: ${spring.application.name}:${server.port}
  client:
    register-with-eureka: false
    fetch-registry: false
    serviceUrl:
      defaultZone: http://server2:8200/eureka/,http://server3:8300/eureka/

application-server2.yml:

server:
  port: 8200
#
#spring:
#  profiles:
#    active: server1

eureka:
  instance:
    hostname: server2
#    prefer-ip-address: true
    instance-id: ${spring.application.name}:${server.port}
  client:
    register-with-eureka: false
    fetch-registry: false
    serviceUrl:
      defaultZone: http://server1:8761/eureka/,http://server3:8300/eureka/

application-server3.yml:

server:
  port: 8300
#
#spring:
#  profiles:
#    active: server1

eureka:
  instance:
    hostname: server3
#    prefer-ip-address: true
    instance-id: ${spring.application.name}:${server.port}
  client:
    register-with-eureka: false
    fetch-registry: false
    serviceUrl:
      defaultZone: http://server1:8761/eureka/,http://server2:8200/eureka/

2、因为是在本地实现的话,需要在localhost加入三个服务,需要改变etc/hosts,linux系统通过vim /etc/hosts,

windows电脑,在c:/windows/systems/drivers/etc/hosts 修改
加入:

127.0.0.1       server1
127.0.0.1       server2
127.0.0.1       server3

3、如果是在测试或者是线上环境,准备三台应用服务器就可以了

启动工程:
在elipse中启动eureka-server:

java -jar eureka-server-0.0.1-SNAPSHOT.jar - -spring.profiles.active=server1

java -jar eureka-server-0.0.1-SNAPSHOT.jar - -spring.profiles.active=server2


java -jar eureka-server-0.0.1-SNAPSHOT.jar - -spring.profiles.active=server3

4、如果在idea中,可以用简单方法:

在 Edit Configurations中新建3个Spring Boot服务,选择“+“ 新建 “Spring Boot”, 分别是:eurekaServer-1,eurekaServer-2,eurekaServer-3
如图:
server1:
这里写图片描述

server2:
这里写图片描述

server3参照上图。
然后分别启动server1, server2, server3

5、需要特别注意的是:所有注册到Eureka Server的服务,defaultZone要做相应的修改如下:

eureka:
  client:
    serviceUrl:
      defaultZone: http://jack.ma:1qaz2wsx@server1:8761/eureka/,http://jack.ma:1qaz2wsx@server2:8200/eureka/,http://jack.ma:1qaz2wsx@server3:8300/eureka/

defaultZone中多个服务之间,用","连接
三个Eureka Server中,按照这个顺序来显示微服务,shutdown其中的任何一个Eureka Server, 会顺次转发到另外一个Eureka Server上

完整项目,“墙裂“推荐看:https://github.com/dangduang/Spring-Cloud-By-Dang/tree/master/spring-cloud-eureka-server

更多系列文章推荐:

  1. Spring Cloud (20) | Spring Cloud Bus 使用kafka消息总线、gitlab添加webhooks实现自动刷新配置
  2. Spring Cloud (19) | Eureka Server 高可用服务注册中心
  3. Spring Cloud (18) | 给Eureka Server加上安全验证
  4. Spring Cloud (15) | Spring Boot、HikariCP、Mybatis和MySQL 配置HikariCP数据库连接池
  5. Spring Cloud (14) | 微服务不能从git/github/gitlab中获取数据库信息 can’t load properties from git/github/gitlab
  6. Spring Cloud (12) | Spring Cloud Zuul网关调用微服务,request请求参数是application/json
  7. Spring Cloud (11) | healthcheck开启健康检查
  8. Spring Cloud (10) | Eureka 各项参数详解
  9. Spring Cloud (8) | 把Spring Boot项目改造成tomcat容器启动
  10. Spring Cloud (7) | Mongodb 微服务
  11. Spring Cloud (6) | spring cloud zuul 跨域问题No ‘Access-Control-Allow-Origin’ header
  12. Spring Cloud (5) | 配置中心 Config Server 配置git or github or gitlab
  13. Spring Cloud (3) | spring cloud bus 消息总线kafka应用
  14. Spring Cloud (1) | java.net.UnknownHostException: eureka-server

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

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

相关文章

最优孤岛划分下含分布式电源配电网可靠性评估附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

小学生python游戏编程arcade----坦克大战(1)

小学生python游戏编程arcade----坦克大战(1)前言坦克类,地图,角色的控制,声音等前期学习的汇总1、坦克类2、title地图加载2.1设置,tank类的引入2.2 角色的引入2.3 效果图2.4 代码实现总结源码获取前言 接上…

kafka学习之基本概念

一、kafka常用基本概念 producer:生产者,生产并发送消息的一方。 consumer:消费者,接收消费消息的一方。 topic:一类消息的集合。在kafka中,消息以主题为单位进行归类,producer负责将消息发送…

云服务器 宝塔部署SpringBoot前后端分离项目

🦆博主介绍:小黄鸭技术 🌈擅长领域:Java、实用工具、运维 👀 系列专栏:📢开发工具 Java之路 八股文之路 📧如果文章写作时有错误的地方,请各位大佬指正,一起进…

舆情监控究竟是什么?怎么运作的?

本文首发于:行者AI谛听 随着互联网的加速变化,舆论已成为影响国家政治、社会生活和公众情绪的重要因素,也是影响企业形象和长远发展的重要因素。能及时收集精准措施以及预防减少和消除舆论带来的影响,是行业长远发展的关键条件。下…

泰凌微蓝牙 HCI层事件的注册和使用

Controler HCI event是通过HCI将Controller所有的event报告给Host HCI event是按BLE Spec标准设计的,是BLE Controller和Host用来交互的事件;GAP event是BLE host定义的一些协议栈流程交互时间通知型事件。 HCI event类型 #define HCI_EVT_DISCONNEC…

【Hack The Box】windows练习-- Object

HTB 学习笔记 【Hack The Box】windows练习-- Object 🔥系列专栏:Hack The Box 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 📆首发时间:🌴2022年11月17日🌴 &#x1…

链表oj题(第一弹)

通过前两篇博客我们了解了链表的实现,那么今天我们来看看链表的oj题是如何完成的。 1、移除链表元素 题目要求我们删掉与val相同的节点。 方法一:我们可以写一个循环,首先创建两个节点,一个头节点,一个尾节点&#x…

Jmeter常用函数__V和__intSum

文章目录一、__V详解1、作用2、示例二、__intSum详解1、作用2、示例三、示例--随机用户名四、示例--随机对应的用户名和密码一、__V详解 1、作用 执行变量表达式,并返回执行的结果可以执行嵌套函数 2、示例 1、固定值和随机数组合 ${__V(1.${__Random(1,10,)})}…

[附源码]java毕业设计民宿客栈管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

[Python]Django 模型

🍉 前言 系列文章目录 [Python]目录 文章目录🍉 前言🍉 Django 模型🍉 定义模型🥝 语法🥝 常用模型字段类型🥑 AutoField🥑 BooleanField🥑 NullBooleanField&#x1f95…

【服务器搭建】教程二:快速搭建我们服务器 进来看

前言: 购买一台服务器,再来个域名,搭建一个自己的个人博客,把一些教程、源码、想要分享的好玩的放到博客上,供小伙伴学习玩耍使用。 我把这个过程记录下来,想要尝试的小伙伴,可以按照步骤&#…

Jmeter连接数据库_postgresql

文章目录一、下载驱动包(.jar)1. 下载对应的安装包2、放在Jmeter的lib目录下二、Jmeter中的操作1、测试计划2、JDBC Connection Configuration3、JDBC Request三、具体示例一、下载驱动包(.jar) 不同的数据区需要的驱动包不同&am…

Systemd Rsync 文件定时同步

1. 环境 操作系统:CentOS 7 主机: master 192.168.0.98backup 192.168.0.166 目标:每天凌晨3点从master 上/www增量的复制到backup上。 2. 配置主机的免密登录 在Backup上配置主机的免密登录,请参考 SSH 公钥免密登录[1] 3. Rsync 服…

一只程序猿很黄很暴力的日记

一些基础概念: Socket(s):主板上面的物理 CPU 插槽。 Core(s):一个 CPU 一般包含 2~4 个 core,即 Core(s) per socket。 Thread(s):一个 core 包含多个可以并行处理任务的 thread,即 Thread(s) per core…

MySQL8.0优化 - SQL执行流程

文章目录学习资料SQL执行流程MySQL执行流程图查询流程1.查询缓存2.解析器3.优化器4.执行器学习资料 【MySQL数据库教程天花板,mysql安装到mysql高级,强!硬!-哔哩哔哩】 【阿里巴巴Java开发手册】https://www.w3cschool.cn/aliba…

每天学习一个css之linear-gradient

linear-gradient的使用 介绍 CSS linear-gradient() 函数用于创建一个表示两种或多种颜色线性渐变的图片。其结果属于<gradient>数据类型&#xff0c;是一种特别的<image>数据类型 语法 linear-gradient([ <angle> | to <side-or-corner> ,]? <…

使用Kubernetes部署Kubernetes集群

Kubernetes集群环境搭建 文章目录Kubernetes集群环境搭建一、环境初始化1、查看操作系统的版本2、主机名解析3、时钟同步4、禁用swap分区5、开启IP转发&#xff0c;和修改内核信息---三个节点都需要配置6、配置IPVS功能&#xff08;三个节点都做&#xff09;二、安装docker1、切…

【学习笔记】kafka学习二

生产者-同步消息发送 如果生产者发送消息没有收到ack&#xff0c;会阻塞到3s时间&#xff0c;如果还没收到消息&#xff0c;会重试&#xff0c;重试3次 生产者-异步消息发送&#xff08;缺点&#xff1a;消息丢失情况&#xff0c;同步更优&#xff09; 生产者发送消息后可以直…

脚本是什么意思?有什么特点?与RPA有哪些区别?

脚本是什么意思&#xff1f;有什么特点&#xff1f;与RPA有哪些区别&#xff1f;相信还有不少人对于这三个问题不是很清楚&#xff0c;今天我们小编就给大家来简单回答一下&#xff0c;仅供参考哦&#xff01; 脚本是什么意思&#xff1f; 脚本简单地说就是一条条的文字命令&a…