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

nacos集群模式+keepalived搭建高可用服务

实际工作中如果nacos这样的核心服务停掉了或者整个服务器宕机了,那整个系统也就gg了,所以像这样的核心服务我们必须要搞个3个或者3个以上的nacos集群部署,实现高可用;

部署高可用版本之前,首先你要会部署单机版的nacos,要有一定的前置知识,
我这里用的nacos版本2.0.4; jdk版本8 ;mysql用的5.7,
系统使用linux的Centos7.6版本

1.Nacos 集群搭建

配置/conf/cluster.conf

解压nacos压缩包,将./conf/cluster.conf.example复制一份,修改名称为cluster.conf,并修改内容,如下:
在这里插入图片描述

#it is ip
#example
10.10.11.79:8848
10.10.11.80:8848
10.10.11.81:8848

建议nacos集群不要少于3个,集群配置文件格式为ip:port,端口要保持一致;

修改application.properties文件,端口号持久化配置:

server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://10.10.11.81:3307/test?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root!@#

在这里插入图片描述

修改nacos/bin/startup.sh

改成集群模式:

export MODE="cluster"

在这里插入图片描述
注意:三节点conf/cluster.conf和conf/application.properties配置一样即可!

启动nacos服务:

sh startup.sh

查看一下日志:
在这里插入图片描述

关闭服务:

sh shutdown.sh

分别访问一下:

http://10.10.11.79:8848/nacos
在这里插入图片描述
http://10.10.11.80:8848/nacos
在这里插入图片描述
http://10.10.11.81:8848/nacos
在这里插入图片描述
想用nginx做负载的话也可以,这里不介绍。

2.安装keepalived

安装

yum clean all
yum install -y keepalived

keepalived常用命令:

  systemctl start keepalived.service   #启动keepalivedsystemctl stop  keepalived.service   #停止keepalived   systemctl status keepalived.service  #查看keepalived状态

修改/etc/keepalived/keepalived.conf配置文件,配置内容如下:

10.10.11.79:

    #监控服务nacosvrrp_script chk_nacos {script "/etc/keepalived/chk_nacos.sh"#每2s检查一次interval 2#每次检查-20weight -20}vrrp_instance VI_1 {#只有一个MASTER 其他为BACKUPstate MASTER#网卡  当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ifconfig查看你具体的网卡interface ens192#必须一样virtual_router_id 51#优先级priority 102advert_int 1#本机ipunicast_src_ip 10.10.11.79# 其他机器ipunicast_peer {                10.10.11.80        10.10.11.81}authentication {auth_type PASSauth_pass 1111}track_script {#检测脚本,上面配置的chk_nacos}virtual_ipaddress {#虚拟ip  是同网关下未使用的ip10.10.11.78}}

10.10.11.80:

    #监控服务nacosvrrp_script chk_nacos {script "/etc/keepalived/chk_nacos.sh"#每2s检查一次interval 2#每次检查-20weight -20}vrrp_instance VI_1 {#只有一个MASTER 其他为BACKUPstate BACKUP#网卡  当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ifconfig查看你具体的网卡interface ens192#必须一样virtual_router_id 51#优先级priority 102advert_int 1#本机ipunicast_src_ip 10.10.11.80# 其他机器ipunicast_peer {                10.10.11.79     10.10.11.81}authentication {auth_type PASSauth_pass 1111}track_script {#检测脚本,上面配置的chk_nacos}virtual_ipaddress {#虚拟ip  是同网关下未使用的ip10.10.11.78}}

10.10.11.81:

#监控服务nacosvrrp_script chk_nacos {script "/etc/keepalived/chk_nacos.sh"#每2s检查一次interval 2#每次检查-20weight -20}vrrp_instance VI_1 {#只有一个MASTER 其他为BACKUPstate BACKUP#网卡  当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ifconfig查看你具体的网卡interface ens192#必须一样virtual_router_id 51#优先级priority 102advert_int 1#本机ipunicast_src_ip 10.10.11.81# 其他机器ipunicast_peer {                10.10.11.7910.10.11.80}authentication {auth_type PASSauth_pass 1111}track_script {#检测脚本,上面配置的chk_nacos}virtual_ipaddress {#虚拟ip  是同网关下未使用的ip10.10.11.78}}

健康检测脚本:

建立/etc/keepalived/chk_nacos.sh脚本,三个服务器都一样。作用就是检测nacos服务是否运行,不运行就让keepalived让出master,优先级降低。让其他节点提供服务。

#!/bin/bash
COUNT=$(ps -ef | grep nacos |grep -v "chk_nacos" | grep -v "grep" | wc -l )
echo "nacos服务数量为:$COUNT"
#判断nacos 是否都挂掉了
if [ $COUNT -lt 1 ]; then    echo “nacos服务失败,让出master”exit 1
elseecho "检测成功"exit 0
fi

三个节点启动keepalived服务:

systemctl start keepalived.service

访问一下虚拟ip:

10.10.11.78:8848/nacos
在这里插入图片描述

这样便可以搭建一个高可用的nacos服务。直接访问http:10.10.11.78:8848/nacos即可。当提供服务的nacos挂掉了,就可以切到其他可用的nacos服务器。

验证:

找到其中一台nacos,kill掉服务。
在这里插入图片描述
访问当前那台nacos:
在这里插入图片描述
再次访问虚拟ip,查看是否受到影响:
在这里插入图片描述
仍然可以正常访问。

这样nacos的高可用集群就已经搭建好了,最好把数据库也做一下高可用:
Docker搭建MySQL主主模式+Keepalived实现高可用集群

相关文章:

nacos集群模式+keepalived搭建高可用服务

实际工作中如果nacos这样的核心服务停掉了或者整个服务器宕机了,那整个系统也就gg了,所以像这样的核心服务我们必须要搞个3个或者3个以上的nacos集群部署,实现高可用; 部署高可用版本之前,首先你要会部署单机版的naco…...

吉利「银河」负重突围

吉利控股集团最新公布的数据显示,2022年,吉利控股集团汽车总销量超230万辆,同比增长4.3%。其中,新能源汽车销量超64万辆,同比增长100.3%。 在中国本土市场,2022年吉利集团旗下品牌乘用车总交付量为135.84万…...

QT之图形视图框架概述——Graphics View Framework

QT之图形视图框架概述——Graphics View Framework1. 概述2. 核心类3. 事件传递4. Graphics View 坐标系统5. 参考1. 概述 Graphics View Framework是子Qt 4.2引入的,用来取代之前版本中的QCanvas。Graphics View Framework提拱了用于大量2D图形项的管理和交互的能…...

【SQL开发实战技巧】系列(二十二):数仓报表场景(上) 从分析函数效率一定快吗聊一聊结果集分页和隔行抽样实现方式

系列文章目录 【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧…...

小米无线AR眼镜探索版细节汇总

在MWC 2023期间,小米正式发布了一款无线AR眼镜,虽然还没看过实机,但XDA提前上手体验,我们从中进行总结。首先我要说的是,小米这款眼镜和高通无线AR眼镜参考设计高度重叠,产品卖点几乎一致,只是增…...

Web3中文|Litra:简洁而优美的NFT流动性协议,能给NFT市场带来什么?

2021年,NFT元年2021年,无疑是 NFT 的“元年”。这一年推特创始人的首条推特被拍出250万美元,加密艺术家Beeple的数字作品“First 5000 Days”在佳士得以6900万美元价格成交,无聊猿最高上涨了1800倍。2021年11月,在Goog…...

SSL证书对虚拟主机的用处有哪些?

虚拟主机是指在同一台服务器上,通过不同的域名或IP地址为多个网站提供服务的一种网络主机。而SSL证书则是一种数字证书,它用于加密网站与用户之间的通信,确保数据传输的安全性和完整性。在虚拟主机上,SSL证书有以下几个用处&#…...

SpringCloud之MQ笔记分享

MQ异步通信 初始MQ 同步通信 优点:时效性较强,可以以及得到结果 Feign就属于同步方式–问题: 耦合问题性能下降(中间的等待时间)资源浪费级联失败 异步通信 优点 耦合度低性能提升,吞吐量高故障隔离…...

动态规划背包问题

背包问题的分类 拿到背包问题,最重要的是会归类到哪一种背包问题中,常见的考题里主要是01背包和完全背包,leetcode上连多重背包的题目都没有。实际完全背包问题就是01背包的一种。 对一和零这道题,很多人容易把m看成一个背包,n看成另一个背包,从而当做多重背包。然而这…...

OpenCV4.x图像处理实例-张嘴和闭嘴检测

张嘴和闭嘴检测 在活体验证中,张嘴和闭嘴检测也是一个重要的环节。本文将介绍如何通过检测人脸上唇和下唇的关键点,并计算上唇和下唇的关键点的距离来检测当前人脸状态是否处于张嘴或闭嘴。 张嘴和闭嘴检测主要步骤如下: 第一步,安装依赖库 示例中使用到OpenCV和MediaP…...

软考高级系统分析师系列论文之十二:论实时控制系统与企业信息系统集成在工业控制的常规应用

软考高级系统分析师系列论文之十二:论实时控制系统与企业信息系统集成在工业控制的常规应用 一、摘要二、正文三、总结一、摘要 本文通过“工控组态软件”项目的开发,着重讨论实时系统与信息系统的集成。近年来,国内外的组态软件取得了很大的发展,已广泛应用于企业生产。组…...

蓝桥杯入门即劝退(二十三)货物摆放问题

欢迎关注点赞评论,共同学习,共同进步! ------持续更新蓝桥杯入门系列算法实例-------- 如果你也喜欢Java和算法,欢迎订阅专栏共同学习交流! 你的点赞、关注、评论、是我创作的动力! -------希望我的文章…...

经验之谈——指标异常了怎么办?

本文参考了数据万花筒的文章,结合我自己工作经验。希望给大家一些帮助。 指标异常排查,是数据分析师的工作重点之一,是各行各业数据分析师都绕不开的话题。 本文试图回答: 1、指标波动的影响因素有哪些? 2、如何快速…...

影视领域解说电影怎样做才会更加出彩?

还有没有想要做影视解说的新手朋友~给大家分享一下影视解说快速上手的软件工具! 一、解说文案 文案是影视解说中最重要的步骤,如果你无法保证文案足够优秀,那么请务必让所有语句通顺,整体通篇下来让人知道你是在讲一个完整的故事…...

【Spring6】| Spring对IoC的实现(核心重点)

目录 一:Spring对IoC的实现 1. IoC 控制反转 2. 依赖注入 2.1 set注入 2.2 构造注入 3. set注入专题 3.1 注入外部Bean 3.2 注入内部Bean 3.3 注入简单类型 3.4 级联属性赋值(了解) 3.5 注入数组 3.6 注入List集合和Set集合 3.7…...

部门来了个测试工程师,听说是00后,实在是太卷了.....

都说00后躺平了,但是有一说一,该卷的还是卷。 这不,前段时间我们部门来了个00后,工作没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。…...

冲冲冲,力扣javascript刷题——数组总结

力扣javascript刷题——数组总结冲冲冲,力扣刷题——数组总结1.二分查找力扣704题:二分查找35.搜索插入位置34.在排序数组中查找元素的第一个和最后一个位置69.x 的平方根367. 有效的完全平方数2.双指针法27. 移除元素26. 删除有序数组中的重复项283.移动零844. 比较…...

使用kotlin编写html dsl框架

前排提醒,这个框架就是我写着玩的,如果您已经会使用vue或其他前端框架,这篇文章可能对您没有什么意义。即使您不会如上提到的框架,也不要对该框架报有过高的期待,该框架更多的是,我自己的自娱自乐。 这里还…...

【谷粒学院】MybatisPlus(1~17)

1.项目介绍 2.项目背景介绍 3.项目商业模式介绍 4.项目功能模块介绍 5.项目技术点介绍 6.项目技术点-MybatisPlus介绍 官网:http://mp.baomidou.com/ MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做…...

C++的输入输出

目录 一、基本的输入输出 二、I/O库头文件 三、标准输出流(cout) 四、标准输入流(cin) 五、标准错误流(cerr) 六、标准日志流(clog) 一、基本的输入输出 C 标准库提供了一组丰…...

Prompt Optimizer

链接:https://pan.quark.cn/s/3d42e4512934Prompt Optimizer v2.2.1是一款开源AI提示词优化工具,致力于通过智能算法提升提示词质量,支持多模型集成和图像生成功能。它提供桌面应用、Docker部署等多种方式,帮助用户快速获得精准的…...

斯坦福邱肖杰:自动化组学发现的可进化多智能体框架

摘要 大型语言模型驱动的自主智能体系统与单细胞生物学的融合,有望推动生物医学发现领域的范式转变。然而,现有生物智能体系统基于单智能体架构构建,要么功能单一、要么过于泛化,仅适用于常规分析。本文介绍1种可进化…...

告别树莓派溢价!Radxa ROCK 5A 8GB版开箱实测,652元真香体验与避坑指南

652元平替树莓派4B?Radxa ROCK 5A深度体验与实战避坑手册 当树莓派4B的价格突破900元大关时,许多开发者开始寻找更具性价比的替代方案。Radxa ROCK 5A的出现恰逢其时——这款搭载RK3588S芯片的单板计算机不仅性能翻倍,价格却仅为652元&#…...

CANOE Demo版快速下载与激活指南

1. CANOE Demo版是什么?为什么你需要它? 如果你正在学习汽车电子开发或者从事相关领域的工作,CANOE这个名字一定不会陌生。作为Vector公司推出的主流汽车总线开发工具,它几乎成了行业标准。但对于刚入门的新手来说,动辄…...

目标检测新手必看:如何用Python手写IOU计算函数(附完整代码)

目标检测实战:从零编写Python版IOU计算函数 刚接触目标检测时,最让人困惑的莫过于那些神秘的评估指标。其中IOU(交并比)就像一把尺子,能量化算法预测框与真实框的贴合程度。但纸上得来终觉浅,今天我们就用P…...

OpenAI Agent SDK实战:5分钟搞定MCP协议接入(附完整代码)

OpenAI Agent SDK与MCP协议深度整合实战指南 在当今AI技术快速迭代的背景下,工具链的标准化与互操作性成为开发者面临的核心挑战之一。OpenAI推出的Agent SDK与MCP协议组合,为构建可扩展的智能体系统提供了工业级解决方案。本文将带您从零开始&#xff0…...

3步实战指南:轻松搭建抖音直播间弹幕数据抓取系统

3步实战指南:轻松搭建抖音直播间弹幕数据抓取系统 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取(2024最新版本) 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 想象一下,你…...

Qt官网抽风连不上?亲测有效的Qt6在线安装网络问题终极解决手册

Qt6在线安装网络问题终极解决手册:从反复失败到一次成功 看着Qt安装器上那个刺眼的"无法连接服务器"提示,我第27次点击了重试按钮。作为一名有十年经验的开发者,我从未想过会在安装环境这一步耗费整整一个下午。这不是个例——根据…...

Zotero Style插件:如何通过3个核心功能让文献管理效率提升200%?

Zotero Style插件:如何通过3个核心功能让文献管理效率提升200%? 【免费下载链接】zotero-style zotero-style - 一个 Zotero 插件,提供了一系列功能来增强 Zotero 的用户体验,如阅读进度可视化和标签管理,适合研究人员…...

iOS激活锁绕过终极指南:快速解锁iPhone/iPad的完整解决方案

iOS激活锁绕过终极指南:快速解锁iPhone/iPad的完整解决方案 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 当你面对一部显示"激活锁"界面的iOS设备,反复输入Apple I…...