同一台机器下,部署两个Redis服务器应用实战
背景:
随着业务上涨,有可能会因为机器资源紧张,从而导致单个Redis服务器不够用,往往需要在同一台机器中部署两个Redis或者Sentinel服务来保障更稳定的集群架构。
1.多个Redis部署
第一个Redis服务6379端口的安装配置这里不作介绍。
可以参考我的前几篇随笔中的介绍(https://www.cnblogs.com/zyf98/p/15664985.html)
第二个Redis服务6380端口的部署与配置:
(主要是注意持久化文件的路径和文件名不能和第一个Redis服务冲突)
sudo mkdir -p /etc/redis6380 //创建6380的配置文件目录
sudo cp 原来的redis.conf 新的redis6380.conf //copy一份配置文件
sudo chown -R 用户:用户 /etc/redis6380 //修改文件权限与原来一致
sudo vim /etc/redis6380/redis6380.conf //修改6380的配置文件port 6380 //修改端口
redis6380.conf修改部分如下,其余部分不做修改:
logfile "/redis6380/redis6380.log" //修改日志文件路径
dir "/redis6380" //修改持久化文件路径
appendfilename "appendonly6380.aof" //不管开不开启aof,先重命名下aof持久化文件
dbfilename "dump6380.rdb" //rdb持久化文件名
sudo mkdir -p /mnt/redis6380 //创建6380持久化文件目录
sudo chown -R 用户:用户 /mnt/redis6380 //修改文件权限
cd /usr/lib/systemd/system/
sudo cp redis.service redis6380.service //copy systemd 文件
sudo vim redis6380.service //修改托管文件
redis6380.service文件修改如下,其余配置不做修改:(原来的redis.service具体配置可以参考我的前几篇文章(https://www.cnblogs.com/zyf98/p/15664985.html))
ExecStart=/usr/local/bin/redis-server /etc/redis6380/redis6380.conf
ExecStop=/usr/local/bin/redis-cli -h 本机IP -p 6380 shutdown
启动Redis6380服务:
sudo systemctl start redis6380 //启动redis6380
2.多个哨兵部署
原sentinel.conf配置文件参考:
port 26379
bind 本机IP
dir "/redis"
logfile "/redis/sentinel.log"
daemonize yes
loglevel notice
sentinel deny-scripts-reconfig yes
maxclients 4064
protected-mode no
pidfile "/var/run/redis.pid"
sentinel monitor mymaster 主服务IP 6379 2
sentinel down-after-milliseconds mymaster 20000
Sentinel26380部署与配置:
sudo cp 原sentinel.conf 新sentinel26380.conf //copy一份配置文件 vim sentinel26380.conf //编辑修改一下
sentinel26380.conf 修改如下,其余不做修改:
port 26380
dir "/redis6380"
logfile "/redis6380/sentinel26380.log"
配置systemd启动文件
cd /usr/lib/systemd/system/
sudo cp redis-sentinel.service redis-sentinel26380.service
vim redis-sentinel26380.service
修改 部分redis-sentinel26380.service 文件,其余部分不做修改:
ExecStart=/usr/local/bin/redis-sentinel /redis6380/sentinel26380.conf
ExecStop=/usr/local/bin/redis-cli -h 本机IP -p 26380 shutdown
启动Sentinel26380:
sudo systemctl start redis-sentinel26380
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了