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

做有弹幕视频网站营销策划案

做有弹幕视频网站,营销策划案,如何做网站的网页,成都 企业网站设计目录 一、概述MySQL高可用 1. 什么是高可用性(High Availability, HA)? 2. MySQL 高可用常见方案 3. 高可用核心机制 4. 选型建议 注意事项 二、案例环境组成 MySQL 主主复制 keepalived HAProxy 的高可用负载均衡架构 三、案例架构…

目录

一、概述MySQL高可用

1. 什么是高可用性(High Availability, HA)?

2. MySQL 高可用常见方案

3. 高可用核心机制

4. 选型建议

注意事项

二、案例环境组成

MySQL 主主复制 + keepalived + HAProxy 的高可用负载均衡架构

三、案例架构实施搭建

1.  案例需求

2. 案例实现思路

 3. 搭建架构

(1)安装 MySQL 数据库;

(2)配置主主复制,MySQL互为主从

(3)部署haproxy (2台)

(4)在haproxy代理上安装keepalived(用来检测haproxy的状态)

(5)模拟故障并验证架构效果


一、概述MySQL高可用

1. 什么是高可用性(High Availability, HA)?

定义:高可用性指系统在面临硬件故障、软件错误或维护时,仍能持续提供服务的能力,目标是尽量减少停机时间(如达到 99.99% 的可用性,即全年停机时间不超过 52.6 分钟)。
核心目标

  • 故障自动恢复:快速检测故障并自动切换至备用节点。

  • 数据零丢失:确保故障切换时数据完整性。

  • 服务连续性:用户无感知的故障转移。

2. MySQL 高可用常见方案

以下是 MySQL 实现高可用的主流方案及其特点:

方案原理优点缺点
主从复制 + MHA基于异步/半同步主从复制,通过 MHA(Master High Availability)监控主库故障并自动切换从库为新主库。简单易用,适合异步复制环境。依赖脚本和外部工具,半同步可能延迟。
Galera Cluster基于同步多主复制(Synchronous Multi-Master),所有节点数据实时同步。强一致性,读写分离灵活。网络延迟敏感,写入性能受节点数影响。
MySQL Group ReplicationMySQL 官方方案,基于 Paxos 协议实现多主集群,支持单主或多主模式。原生支持,自动化故障转移。配置复杂,对网络稳定性要求高。
InnoDB Cluster基于 MySQL Group Replication + MySQL Shell + MySQL Router 的完整高可用套件。官方集成,管理便捷。依赖 MySQL 8.0+,资源消耗较高。
Proxy-based HA通过中间件(如 ProxySQL、HAProxy)实现读写分离和故障转移。对应用透明,灵活扩展。中间件可能成为性能瓶颈。
云服务高可用使用云厂商方案(如 AWS RDS Multi-AZ、阿里云高可用版)。全托管,自动备份与恢复。
 
成本较高,依赖云平台。
 

3. 高可用核心机制

  1. 数据冗余

    • 主从复制(异步/半同步)保障数据多副本存储。

    • 同步复制(如 Galera)确保所有节点数据强一致。

  2. 故障检测与切换

    • 心跳机制:通过定期心跳包检测节点存活状态。

    • VIP/DNS 漂移:故障时虚拟 IP 或 DNS 指向新主库。

  3. 脑裂(Split-Brain)处理

    • 使用仲裁节点(如 MHA 的 Manager)或多数派投票(Paxos 协议)避免多主同时写入。

  4. 数据一致性保障

    • 半同步复制:主库提交事务前需至少一个从库确认接收。

    • 并行复制:解决单线程复制延迟问题(MySQL 5.7+)

4. 选型建议

  • 强一致性场景:选择 Galera Cluster 或 MySQL Group Replication。

  • 简单主从架构:主从复制 + MHA 或 Keepalived。

  • 云环境:优先使用云厂商托管方案(如 AWS RDS)。

  • 大规模集群:结合中间件(ProxySQL)与 Group Replication。

注意事项

  • 数据同步延迟:异步复制可能导致切换时数据丢失,需结合业务容忍度选择复制模式。

  • 监控与告警:实时监控节点状态、复制延迟、集群健康度。

  • 定期演练:模拟故障切换,验证高可用流程的有效性。

二、案例环境组成

MySQL 主主复制 + keepalived + HAProxy 的高可用负载均衡架构
  • MySQL 主主复制:两台 MySQL 实例互为主从,双向同步数据,均支持读写操作,提供冗余和扩展能力。

  • Keepalived:通过 VRRP 协议管理虚拟 IP(VIP),监控 MySQL 状态,故障时自动将 VIP 漂移至存活节点,确保服务地址不变。在这里用来检测HAPProxy的状态。

  • HAPProxy:作为反向代理和负载均衡器,将流量分发至 MySQL 节点,支持健康检查、读写分离(可选)和故障节点自动剔除。

优势

  • 高可用性:Keepalived 实现秒级故障切换,HAPProxy 健康检查确保流量仅路由到正常节点,避免单点故障。

  • 读写扩展:主主架构支持双节点并发写入,提升写入性能;HAPProxy 可配置读写分离,利用备节点分担读压力。

  • 灵活扩展:可横向扩展 HAPProxy 或 MySQL 节点,支持动态调整负载均衡策略(如轮询、权重)。

  • 运维友好:基于开源工具,无厂商锁定,社区支持丰富,适合自建数据库集群。

三、案例架构实施搭建

1.  案例需求

本案例要求通过 MHA 监控 MySQL 数据库,在故障时进行自动切换,不影响业务。

2. 案例实现思路

(1)安装 MySQL 数据库;
(2)配置 MySQL 互为主从;
(3)安装 haproxy 软件并配置复制均衡;
(4)安装 keepalived 软件并配置故障转移;
(5)模拟 master 故障切换。

 3. 搭建架构

(1)安装 MySQL 数据库;

主页有关于MySQL的详细安装步骤

(2)配置主主复制,MySQL互为主从
#master1、2互为主从(操作一样)
vim /etc/my.cnf log-bin=/usr/local/mysql/data/mysql-binbinlog-format=MIXEDserver-id=1/2
--重启MySQL	
systemctl restart mysqld#创建用户,为从授权
create user 'myslave'@'%' identified by '123456';
grant replication slave on *.* to 'myslave'@'%';
alter user 'myslave'@'%' identified with mysql_native_password by '123456';注意:identified with mysql_native_password   加密模块,保护密码#刷新并查看主的状态信息
flush privileges;
show master status;  //看File和Position #两个主机互相连接主 (注意好不要填错IP和pos偏移量)
change master to master_host='192.168.10.101',master_user='myslave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=1149;#开启从同步
start slave; 
#查看从状态信息
show slave status\G验证主主复制的同步:创建库
(3)部署haproxy (2台)
#关闭selinux和防火墙
sed -i 's/SELINUX=enforcing/SELINUX=disabled/'  /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
#安装haproxy
dnf -y install haproxy
#编辑配置文件
vim /etc/haproxy/haproxy.cfg
globallog             127.0.0.1 local2chroot          /var/lib/haproxypidfile         /var/run/haproxy.piduser            haproxygroup           haproxydaemonmaxconn         4000defaultsmode            tcp      #改log             globaloption          tcplog	#改option          dontlognullretries         3timeout http-request 5stimeout queue   1mtimeout connect 5stimeout client  1mtimeout server  1mtimeout http-keep-alive 5stimeout check   5smaxconn         3000listen mysqlbind 0.0.0.0:3306           # 显式指定监听地址和端口balance leastconn           # 负载均衡算法server mysql1 192.168.10.101:3306 check port 3306 maxconn 300   #声明服务器节点server mysql2 192.168.10.102:3306 check port 3306 maxconn 300 #重启服务并检测文件配置
haproxy -c -f /etc/haproxy/haproxy.cfg
systemctl restart haproxy
(4)在haproxy代理上安装keepalived(用来检测haproxy的状态)
#关闭selinux和防火墙(做过不用)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/'  /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl disable firewalld#安装
dnf install -y keepalived#编辑配置文件
注意:原本的那个是模板文件,需要拷贝一下cp /etc/keepalived/keepalived.conf.sample /etc/keepalived/keepalived.confvim /etc/keepalived/keepalived.confrouter_id  r1/r2
vrrp_instance  VI_1 {state BACKUPnopreempt     //优先级高的主机设置interface ens33priority 100   //优先级}注释掉vrrp_strict,删除virtual_ipaddress:区域配置完后面的内容##2台配置不同,要注意router_id 设置不同,
vrrp_instance 实例(管理VIP的):
要注意两台都为备BACKUP(通过优先级自动选主);优先级修改成不同;优先高一台设置nopreempt(不抢占模式),防止优先级高的故障后还抢占另一台的主身份。
interface 网卡对应本机的网卡名;
virtual_ipaddress: 改成同网段的
注释掉vrrp_strict :严格模式,它会阻止VIP单播通信  ######添加监控脚本(测试haproxy的状态,故障后关闭haproxy,keepalived就把VIP漂到另一台)
vim /etc/keepalived/chk.sh
#!/bin/bash
#
if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ]; 
then/etc/init.d/keepalived stop 或 systemctl stop keepalived 
fi
#重启keepalived
systemctl restart keepalived
#查看VIP(必须是一台有,一台没有)
ip add#自动跑监控脚本
方一:创建计划任务,定期自动执行
方二:添加到keepalived的配置文件里(keepalived允许添加外部脚本到配置里)
添到示例上方:vrrp_script chk_haproxy {script "/etc/keepalived/chk.sh"interval 2}
添加到示例里面:track_script {chk_haproxy}
chmod +x  /etc/keepalived/chk.sh   //给脚本执行权限
systemctl restart keepalived#客户端验证
用Vip连接MySQL
mysql -utest -p123456 -h192.168.10.100#注意:客户端没有mysql的命令,可以用“yum -y install mysql”下载
(5)模拟故障并验证架构效果
#在服务器上创建测试账户test(只需创一次,另一台主会同步)
create user testt@'%' identified by '123456';
grant all on *.* to testt@'%';
alter user 'testt'@'%' identified with mysql_native_password by '123456';
flush privileges;模拟故障:
1.关闭master1,测试HAProxy的效果,它具备健康检测功能,会自动切换
ping master1IP  //发现已离线
mysql -utest -p123456 -h192.168.10.100   //客户端验证是否能正常登录,正常登为正确
2.关闭keepalived,查看VIP漂移的效果
ip a    // mysql还是可以访问的
http://www.dtcms.com/wzjs/53873.html

相关文章:

  • 帝国做的网站删除域名后缀百度推广关键词质量度
  • 网站建站报价推广代理平台
  • 中山市城乡住房建设局网站欧洲网站服务器
  • 廊坊网站制作策划百度关键词优化是什么意思
  • 朝鲜网站后缀网页制作成品
  • 北京网站建设开发公司百度知道官网登录入口
  • 企业标准版网站建设搜狗推广效果好吗
  • 织梦网站后台教程唐山seo排名
  • 移动电子商务网站建设研究电商网站平台有哪些
  • 保定徐水网站建设百度手机助手app下载并安装
  • 下载php做站的官方网站百度账号人工申诉
  • 专门做搜索种子的网站有哪些广州做seo公司
  • 都是些什么企业需要建设网站苏州关键词排名系统
  • 网站建设备案 优帮云宁波seo关键词培训
  • 婚恋网站应聘做销售百度搜索排名查询
  • 网站如何进行seo谷歌推广真有效果吗
  • 青田建设局网站制作app软件平台
  • 做织带的网站旺道优化软件
  • 做相册的网站(网易网络营销策划案
  • 网站备案 异地网站推广策划思路
  • 淮北专业三合一网站开发品牌推广方案思维导图
  • 网站 主办单位性质 个人网店推广方案范文
  • 智慧团建网站登录入口电脑版微信小程序怎么开通
  • 网页界面设计艺术教程seo课程培训学校
  • 和外国人做ic生意的网站北京推广优化经理
  • 做瓜子进出口用哪些网站北京刚刚宣布比疫情更可怕的事情
  • 盗取dede系统做的网站模板百度云建站
  • 东高端莞商城网站建设自己如何制作网站
  • 床品图案设计网站广州seo推荐
  • 武昌有专业做网站济南专业seo推广公司