当前位置: 首页 > 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 标准库提供了一组丰…...

RNN相关知识总结

目录RNN结构与原理1.模型总览2.反向传播LSTM结构与原理1.模型总览2.如何解决RNN梯度消失/爆炸问题?GRU结构及原理1.模型总览LSTM与GRU的区别RNN结构与原理 1.模型总览 上图是RNN的展开结构图,由输入层、隐藏层和输出层组成。当前时间步t 的隐藏状态hth_…...

2. 应用C/C++编写程序

2.1 一个完整的C++源程序 例题是参考书《C++程序设计--基础,编程抽象与算法策略》第一章的PowersOfTwo.cpp。当运行程序PowersOfTow时,计算机要询问指数是多少,即2的多少次方。例如,输入8,程序会产生2的0到8次方的值。 /* File: PowersOfTwo.cpp *程序注释 …...

Spring Boot 统一功能处理(用户登录权限效验-拦截器、异常处理、数据格式返回)

文章目录1. 统一用户登录权限效验1.1 最初用户登录权限效验1.2 Spring AOP 统一用户登录验证1.3 Spring 拦截器1.4 练习:登录拦截器1.5 拦截器实现原理1.6 统一访问前缀添加2. 统一异常处理3. 统一数据格式返回3.1 统一数据格式返回的实现3.2 ControllerAdvice 源码…...

oracle存储过程的使用

文章目录oracle存储过程的使用基本结构管理存储过程调用存储过程的方法存储过程参数关键词: IN 和outin/out测试案例调用in/out测试案例存储过程语法DECLARE声明关键词赋值使用in/out将值作为子程序的参数分配给变量,看上面的案例为布尔变量赋值表达式串…...

一些无线通信系统模型的概念

一些无线通信系统模型的概念 扩频通信,指的是系统的带宽WWW远大于其信息传输速率R(bits/s)R(bits/s)R(bits/s), 定义展频带因子BeWRB_e \frac{W}{R}Be​RW​, 易知在扩频通信系统中,BeB_eBe​远大于1. 在频率上产生如此大的冗余度,主要是为了减轻无线通信或卫星通信中经常产生…...

GAIDC 2023盛会迎来大模型论坛“主场”,百度飞桨护航大模型产业发展

‍‍‍‍2月25日-26日,2023全球人工智能开发者先锋大会(GAIDC)在上海临港举行,大会以“向光而行的AI开发者”为主题,汇聚了当前科技和产业革命中的开发者先锋力量。百度深度参与本次大会,飞桨联合上海市人工…...

Python编写GUI界面案例:实现免费下载器

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 本次网站: 本文所有模块\环境\源码\教程皆可点击文章下方名片获取此处跳转 开发环境: python 3.8 运行代码 pycharm 2022.3 辅助敲代码 模块使用: import parsel >>> pip install parsel…...

我的 System Verilog 学习记录(6)

引言 本文简单介绍 SystemVerilog 语言的 线程。 前文链接: 我的 System Verilog 学习记录(1) 我的 System Verilog 学习记录(2) 我的 System Verilog 学习记录(3) 我的 System Verilog 学…...

SAP 常见问题大全及问题解决大全

1.A:在公司代码分配折旧表时报错? 在公司代码分配折旧表时报错,提示是“3000 的公司代码分录不完全-参见长文本” 希望各位大侠帮我看看。 3000 的公司代码分录不完全-参见长文本 R: a.你把零进项税的代码分配给这个公司代码就可以了 …...

10.Quartz实现定时打分 热帖排行

1.Spring Quartz(1)简介核心组件scheduler 接口:核心调度工具,所有任务由这一接口调用job:定义任务,重写execute方法JobDetail接口:配置描述Trigger接口:什么时候运行,以什么样的频率运行(2)Spr…...

新开传奇网站195合击/网站优化内容

父类和子类 子类对象也是是父类的对象。 子类继承所有父类的属性。 父类的属性,在子类中都有,各子类中还有自己特有的属性。 父类上的关联关系,会体现在每个子类身上。子类身上的关联关系仅仅体现在子类自己身上。 这里,每个病人…...

深圳做企业网站的公司推荐/自己的网站

说明&#xff1a;之前在CentOS7下配置过bridge&#xff0c;现在讲bridge模式改为普通模式后&#xff0c;查看网卡的时候还是可以看到很多垃圾信息&#xff0c;想彻底删除自己不想要的网卡配置信息&#xff0c;操作如下:[rootlinux-node1 ~]# ip add list 1: lo: <LOOPBACK,U…...

一般课程网站要怎么做/百度统计代码安装位置

interruptedException: http://blog.csdn.net/srzhz/article/details/6804756 1. 处于sleeping&#xff0c;awaiting&#xff0c;或是倍占用的线程&#xff08;阻塞状态&#xff09;&#xff0c;中断就会抛出interruptedException: 但是并没有被职位&#xff0c;而且也不会中断…...

一念天堂免费观看/郴州seo

可能这样的面试场景比较常见&#xff1a;面试官&#xff1a;ConcurrentHashMap是怎么实现的呢&#xff1f;程序猿小僧&#xff1a;ConcurrentHashMap是线程安全的HashMap&#xff0c;基于分段锁实现&#xff0c;面试官&#xff1a;分段锁又是怎么实现的呢&#xff1f;程序员小僧…...

手机app界面怎么做/seo营销培训咨询

我们总是要写各种文档&#xff0c;演示各种PPT&#xff0c;写各种博客&#xff0c;其中都少不了需要作出一些图形&#xff0c;用于形象的展示出想要表达的信息。Windows自带的画图、Paint.Net&#xff0c;Visio、Rose等各种工具&#xff0c;只要有足够的耐心&#xff0c;并且对…...

大连金州代做网站公众号/快速排名教程

马哲包括5大部分即唯物论&#xff0c;辩证法&#xff0c;认识论&#xff0c;历史唯物论&#xff0c;资本主义本质论。 其中辩证法又包括&#xff1a; 1.两大特征&#xff1a;&#xff08;1&#xff09;普遍联系&#xff08;2&#xff09;永恒发展。 2.三大规律&#xff1a;&…...