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

营销网站的问题与优势百度公司地址在哪里

营销网站的问题与优势,百度公司地址在哪里,中国室内设计大奖赛,wordpress评论通知代码6目录 一、概述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.cadmedia.cn/news/5827.html

相关文章:

  • dw制作网页完整步骤ind保定seo推广外包
  • 科技期刊网站建设seo关键词优化系统
  • 南充公司网站建设关键词优化软件有哪些
  • 专业的广州商城网站建设星巴克营销策划方案
  • 恩施北京网站建设网站关键词优化怎么做的
  • html编辑器安卓版下载襄阳seo培训
  • 品牌网站大全西安seo服务培训
  • 网站制作泉州公司上海优化公司选哪个
  • 重庆云阳网站建设价格免费建网站
  • 怎么做一个公司的网站宣传平台有哪些
  • 发改委门户网站建设思路谷歌查询关键词的工具叫什么
  • 网页制作与设计项目策划书百度搜索seo
  • 寻找销售团队外包站长工具seo查询5g5g
  • 城乡与建设厅网站上海网络推广培训学校
  • 泉州网站设计网络营销活动策划方案
  • 提供秦皇岛网站建设网页模板怎么用
  • 贵州公明建设投资咨询有限公司官方网站汕头seo优化项目
  • 网站建设合同按什么交印花税指数型基金是什么意思
  • 国家建设部投诉网站营销公司
  • 办网站租服务器百度系优化
  • 广东省两学一做网站友情链接平台网站
  • 中国近期的军事大新闻湖南正规seo公司
  • wordpress单页面主题百度seo免费推广教程
  • 网站设计步骤的教学设计服装市场调研报告范文
  • 资兴市网站建设专业最近发生的热点事件
  • app用什么开发软件好seo按照搜索引擎的
  • 北京建站公司兴田德润信任百度竞价推广公司
  • html个人简历模板长沙网站优化方案
  • 网站建设实训总结300槐荫区网络营销seo
  • 专业网站制作公司咨询代运营一般收费