高并发大型电商详情页系统的高性能与高可用缓存架构
Posted hadoop22
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高并发大型电商详情页系统的高性能与高可用缓存架构相关的知识,希望对你有一定的参考价值。
一、redis安装
redis安装有yum和编译两种方式,本文以编译方式安装,参考文档为官网安装文档
1.gcc安装
2.下载安装包
3.解压编译
4.修改配置文件
主要配置修改如下:
5.制作启动服务
6.启动服务并加入开机启动
7.RedisDesktopManager管理工具
该工具为redis图形化管理工具
软件下载:https://pan.baidu.com/s/1no0IWcIEBapfehNi8dfCfw 密码:7dvc
连接设置:
连接后效果
二、redis主从复制及持久化
1.从服务器设置
redis主从复制很简单,只需要在从服务器配置文件新增一条配置即可
2.主从测试
2.1主机上写入值
查看从机redis键值:
2.2从机写入值
发现报错,处于slave状态redis无法写入。
3.持久化
redis持久化有RDB和AOF两种方式,默认持久化为RDB方式,关闭默认持久化只需要把默认配置注释就行:
三、keepalived安装配置
1.keepalived安装
2.keepalived配置
相比master,slave配置有3点不同:
为了避免主从间的来回切换,也可以设置nopreemt参数,开启非抢占式模式;不过当redis或者keepalived发生异常时都会触发各种告警,运维人员会及时介入处理。
3.启动并设置开机启动
四、expect安装
expect是一个提供自动交互的工具,本文notify_master中的脚本会使用到。
五、高可用脚本
1.redis-check.sh脚本
该脚本为对redis状态检查
2.redis-master.sh脚本
该脚本为本文高可用切换的关键。
monitor为31的root密码;slave脚本的ip应改为172.27.9.30;该脚本为服务器切换为master时执行的脚本,首先会检查切换前与master的主从同步是否完成,然后利用expect工具跳到另一台服务器将其redis状态更改为slave。
3.exp.sh脚本
slave脚本中的ip为172.27.9.31;该脚本作用是跳到另一台服务执行slaveof命令。
六、测试
1.模拟redis服务异常
操作:停掉master的redis服务
预期:vip漂移,slave主机的redis状态切换为master
测试过程:
1.1停止master的redis服务
1.2查看虚ip
发现vip由30漂移至31
1.3查看redis状态
31的redis状态切换为master
1.4回切
启动30的redis服务
查看vip和redis状态
30:
31:
结论:redis服务异常时会发生切换,从机会切换为master状态对外提供服务。
2.模拟keepalived服务异常
操作:停掉master的keepalived服务
预期:vip漂移,master的redis状态切换为slave,slave的redis状态切换为master
测试过程:
2.1停止master的keepalived服务
2.2查看vip和redis状态
30:
31:
vip由30漂移至31且主从发生反转;开启keepalived服务会触发回切。
结论:keepalived服务异常时会发生切换,主从会反转。
3.模拟master宕机
操作:master关机
预期:vip漂移,slave的redis状态切换为master
测试过程:
3.1master服务器关机
3.2查看vip和redis状态
vip漂移至31且状态切换为master;30开机会触发回切。
结论:master宕机时会发生切换,从机切换为master状态对外提供服务。
以上是关于高并发大型电商详情页系统的高性能与高可用缓存架构的主要内容,如果未能解决你的问题,请参考以下文章
34_redis阶段性总结:1T以上海量数据+10万以上QPS高并发+99.99%高可用
亿级流量电商系统实战视频缓存架构+高可用服务架构+微服务架构
亿级流量电商详情页系统实战-缓存架构+高可用服务架构+微服务架构第二版视频教程