JWT 的详细资源

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 还在等什么,快来一起讨论关注吧,公众号【八点半技术站】,欢迎加入社群

作者:Bruce.D

github:https://github.com/doukoi-BDB

文章底部有【技术社群&福利】,不定更新活动、源码,欢迎来撩~~~


今日主题

       1、恢复主节点的故障,通过 redis 自动化哨兵的方式

       2、预计阅读 6 分钟,正文 2300 字。


一、开场介绍


hello,八点半的铁友们,其实在讲文章内容之前,我们先简单来知晓一下,哨兵是什么?用在哪里?等等一系列。这样我们先做一层铺垫,在后续的理解起来会更加容易,快似飞起般的感觉~~~


我们来以 Q&A 的回答方式先来了解一些基础内容


Q:哨兵是什么?

A:网上说:哨兵是一种运行模式;其实可以理解哨兵就是一个进程,因此会独立运行


Q:哨兵原理 &用在何处?

A:网上说:主节点出现故障,redis 进行通知、转移,来实现高可用;其实可以白话文理解为:哨兵就是通过发送命令,等待 redis 服务响应,从而监控运行 redis 多个实例


Q:哨兵的应用场景是?

A:主服务器宕机了,那么需要人工处理切换服务器,这多麻烦,还影响业务服务。因此哨兵它来了,带着高可用慢慢的走来了,实现了自动化


Q:哨兵是怎么使用的?

A:你猜猜难道是....对,就是通过配置的,操作核心的 redis.conf 文件等若干文件


二、实战操作


通过上述开场的基础介绍,想必我们脑子里已经有对 哨兵 有个相对闭环的了解了吧。话不多说,兄弟们上操作,有不足地方欢迎评论区探讨 &指出你认为应该改变的地方~~~


毕竟刚开始操作,我们就不要想太复杂,我们就简单来一波哨兵系统。


1、准备一台服务器即可(有 money 的准备 3~4 台,换着玩😂),准备一台的玩家需要注意,我们使用端口来区分滴哈。


2、按照网上教程的来,那我们也部署 1 个主 2 个从 2 个哨兵,跟着大佬走,幸福到长久~~~


3、开始部署主 &从节点,配置一样哈,没有特殊化,不需要额外关注其他配置,可以看我插入的代码配置,代码中会标注细节点。



#redis.conf - 这里是主节点,port端口给了一个6379
port 6379#守护线程,默认是NO
daemonize yeslogfile "6379.log"
dbfilename "dump-6379.rdb" 
#redis-6300.conf - 这里是从节点,port端口给了一个6300
port 6300#守护线程,默认是NO
daemonize yeslogfile "6300.log"
dbfilename "dump-6300.rdb"
slaveof 192.168.1.1 6379 - 192.168.1.1(模拟服务器ip) 
#redis-6301.conf - 这里是从节点,port端口给了一个6301
port 6301#守护线程,默认是NO
daemonize yeslogfile "6301.log"
dbfilename "dump-6301.rdb"
slaveof 192.168.1.1 6379 - 192.168.1.1(模拟服务器ip)



4、配置就这么愉快的完了,上述代码很详细,还是不懂评论区见,那么接下来需要做什么?

当然是:依次启动 redis 服务的主节点 、从节点 ~~~



redis-server redis-6379.conf
redis-server redis-6300.conf
redis-server redis-6301.conf



5、启动后,那么我们来个命令看下状态即可,下图标注的命令会有解释:


192.168.1.1:6379> info replication
# Replication
# 角色
role:master
# 从节点的连接数connected_slaves:2
# 从节点详细信息 IP PORT 状态 命令(单位:字节长度)偏移量 延迟秒数
# 主节点每次处理完写操作,会把命令的字节长度累加到master_repl_offset中。
# 从节点在接收到主节点发送的命令后,会累加记录偏移量信息slave_repl_offset,同时,也会每秒钟上报自身的复制偏移量到主节点,以供主节点记录存储。
# 在实际应用中,可以通过对比主从复制偏移量信息来监控主从复制健康状况。
slave0:ip=192.168.1.1,port=6300,state=online,offset=236,lag=1
slave1:ip=192.168.1.1,port=6301,state=online,offset=236,lag=0
# master启动时生成的40位16进制的随机字符串,用来标识master节点
master_replid:acc2aaa1f0bb0fd79d7d3302f16bddcbe4add423
master_replid2:0000000000000000000000000000000000000000
# master 命令(单位:字节长度)已写入的偏移量
master_repl_offset:23866
second_repl_offset:-1
# 0/1:关闭/开启复制积压缓冲区标志(2.8+),主要用于增量复制及丢失命令补救
repl_backlog_active:1
# 缓冲区最大长度,默认 1Mrepl_backlog_size:1048576
# 缓冲区起始偏移量repl_backlog_first_byte_offset:1
# 缓冲区已存储的数据长度repl_backlog_histlen:23866


6、接下来我们配置哨兵的配置,也是大家关注点之一,哨兵的配置简化版,端口区分:



#sentinel-26000.conf
port 26000#守护线程,默认是NO
daemonize yeslogfile "26000.log"
#sentinel monitor mymaster 配置的含义是:
#该哨兵节点监控192.168.1.1:6379这个主节点,该主节点的名称是mymaster;
#最后2含义与主节点的故障判定有关:至少需要2个哨兵节点同意,才能判定主节点故障并进行故障转移。
sentinel monitor mymaster 192.168.1.1 6379 2



7、启动哨兵节点


#redis sentinel 是哨兵的英文名
redis-server sentinel-26000.conf --sentinel


8、全部结束,这个时候整个系统就开始运行了,这个时候想要验证,我们可以通过一个命令来看:


通过redis-cli连接哨兵节点:info sentinel
#sentinel
sentinel_master:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
#看到这里主节点名称,以及状态,以及地址,以及从节点数量,哨兵数量
master0:name=myaster,status=ok,address=192.168.1.1:6379,salves:2,sentinel:3

9、这个时候,我们也可以看下哨兵的配置文件,例如:



打开 sentinel-26000.conf 文件目录,从这里可以看到哨兵已经发现从节点与其他哨兵的一个存在。



10、整个配置过程就结束了,我个人建议可以玩玩,挺不错的。


三、总结


兄弟姐妹们能看到现在,必须给个赞👍。基础内容看了,配置也教了;但是整体感觉还差点,那么就对了,还差一波总结,总结就是精华 &核心。看一篇文章,总结一定要看呐,过来人~~~


总结列举:

1、哨兵,又名(redis sentinel),独立运行,进程方式。

2、哨兵,自动化监控服务、切换主从节点,恢复故障。

3、哨兵,也有单点问题,也可以搞集群。

4、哨兵,每秒钟/次的频率向它的 master,salve 以及其他 哨兵 实例发送一个 ping 命令。

5、哨兵,监控记录,可以查看哨兵所对应的 conf 文件。

6、哨兵,配置种出现 epoch 的参数,是一个从 0 开始的计数器,选举机制。

7、哨兵,故障发现和转移是由哨兵来控制和完成的。

8、哨兵,节点本质上是 redis 节点。

9、哨兵,可以监控多个主节点,通过配置多 sentinel monitor 即可实现。




为了让各位方便:交流、交友、技术视频、资源分享、接私活 等等,可以扫下面二维码(wx:xzzs730),备注 “ 技术 ” 就可以通过审核。

相关文章
|
移动开发 数据可视化 UED
从网页到应用:简易教程教你如何在线生成App
本文将介绍一种简便的方法,让您能够将网页封装成APP。通过这种技术,您可以将您的网页应用程序转化为移动应用程序,从而更好地满足用户的需求。无需编程知识,只需几个简单的步骤,即可轻松将您的网页转化为功能强大的应用程序。
|
10月前
|
缓存 安全 数据挖掘
阿里云服务器目前活动中各实例规格适用场景汇总,选择指南参考
本文将基于2025年阿里云服务器相关活动的最新内容,对各个实例规格的适用场景进行详细汇总,并提供选择指南参考,帮助用户轻松选购到最适合自己的云服务器实例。
|
JavaScript 信息无障碍
无障碍工具条本地化安装部署
无障碍工具条安装部署教程
385 1
无障碍工具条本地化安装部署
|
11月前
|
存储 安全 数据中心
Docker 容器凭借轻量级和高效的特性,成为应用部署的重要工具
Docker 容器凭借轻量级和高效的特性,成为应用部署的重要工具。本文探讨了 Docker 如何通过 Namespace 和 Cgroups 实现 CPU、内存、网络和存储资源的隔离,提高系统安全性和资源利用率,以及面临的挑战和应对策略。
189 1
|
敏捷开发 算法 数据建模
『软件工程2』详解软件工程和软件过程模型
该文章深入解析了软件工程的概念及其过程模型,包括软件生命周期的不同阶段和常见的软件开发模型如瀑布模型、敏捷开发等,并探讨了各自的特点与适用场景。
『软件工程2』详解软件工程和软件过程模型
|
存储 安全 算法
【软件设计师备考 专题 】数据库的控制功能(并发控制、恢复、安全性、完整性)
【软件设计师备考 专题 】数据库的控制功能(并发控制、恢复、安全性、完整性)
322 0
|
设计模式 缓存 安全
单例模式的应用与陷阱:确保你的代码只有一个实例
单例模式的应用与陷阱:确保你的代码只有一个实例
431 0
|
数据采集 分布式计算 DataWorks
DataWorks产品使用合集之DataWorks中配置节点上下文输出参数如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
379 1
|
JavaScript Java 测试技术
基于微信小程序的医院挂号预约系统的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的医院挂号预约系统的设计与实现(源码+lw+部署文档+讲解等)
286 0
|
人工智能 搜索推荐 vr&ar
安卓系统的发展历程与未来趋势
【2月更文挑战第10天】 安卓系统作为全球手机操作系统市场的领导者,其发展历程和未来趋势备受关注。本文将从安卓系统的起源、发展历程、技术特点以及未来发展趋势等方面进行探讨,分析安卓系统在移动设备领域的影响力以及未来可能的发展方向。