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

网站建设网站设计多少钱中山网站设计

网站建设网站设计多少钱,中山网站设计,学php网站开发多钱,用模板搭建的网站备案吗目录 一、原理与架构(读写分离如何工作) 二、为什么需要读写分离? 三、搭建步骤(基于ProxySQL v2.4) 🌟 环境拓扑 🔧 1. 安装ProxySQL(Ubuntu示例) 🔧 2…

目录

一、原理与架构(读写分离如何工作)

二、为什么需要读写分离?

三、搭建步骤(基于ProxySQL v2.4)

🌟 环境拓扑

🔧 1. 安装ProxySQL(Ubuntu示例)

🔧 2. 配置后端数据库

🔧 3. 配置路由规则(核心!)

🔧 4. 应用连接配置

✅ 验证读写分离

期望输出:

四、常见问题与解决方案

五、总结与最佳实践


一、原理与架构(读写分离如何工作)

✅ 流量分发逻辑

✅ 核心组件作用

组件功能说明
ProxySQLSQL流量识别与路由(C++开发,高性能)
Query Rules基于正则的读写分离规则
Host Groups主库组(写)与从库组(读)分组管理

📌 智能路由原理

  1. 解析SQL语句类型(SELECT/INSERT/UPDATE)

  2. 写操作强制路由到主库组(HG=10)

  3. 读操作负载均衡到从库组(HG=20)

  4. 支持事务内强制走主库(避免读延迟)


二、为什么需要读写分离?

痛点场景读写分离解决方案
80%查询+20%写入读压力分散到多个从库
报表拖垮生产库OLAP查询定向到专用从库
主库CPU常年90%+写操作独占主库资源
故障恢复慢读流量自动剔除故障节点

实测收益(电商业务案例):

  • 主库QPS下降68%

  • 平均查询响应时间从350ms→120ms

  • 服务器成本减少40%(替代垂直扩容)


三、搭建步骤(基于ProxySQL v2.4)

🌟 环境拓扑
主库: 192.168.1.100  # 写操作 (HostGroup 10)
从库1:192.168.1.101  # 读操作 (HostGroup 20)
从库2:192.168.1.102  # 读操作 (HostGroup 20)
ProxySQL:192.168.1.200 # 中间件

🔧 1. 安装ProxySQL(Ubuntu示例)

wget https://github.com/sysown/proxysql/releases/download/v2.4.0/proxysql_2.4.0-ubuntu20_amd64.deb
sudo dpkg -i proxysql_2.4.0-ubuntu20_amd64.deb
systemctl start proxysql

🔧 2. 配置后端数据库

-- 在ProxySQL管理端(6032端口)执行
INSERT INTO mysql_servers(hostgroup_id, hostname, port) VALUES
(10, '192.168.1.100', 3306),  -- 主库组
(20, '192.168.1.101', 3306),  -- 从库组
(20, '192.168.1.102', 3306);-- 创建监控账号(所有数据库节点执行)
CREATE USER 'monitor'@'%' IDENTIFIED BY 'MonitorP@ss';
GRANT REPLICATION CLIENT ON *.* TO 'monitor'@'%';

🔧 3. 配置路由规则(核心!)

-- 创建读写分离路由规则
INSERT INTO mysql_query_rules(rule_id, active, match_pattern, destination_hostgroup, apply) VALUES
(1, 1, '^SELECT.*FOR UPDATE', 10, 1),    -- 特殊读操作走主库
(2, 1, '^SELECT', 20, 1),                -- 普通查询走从库
(3, 1, '.*', 10, 1);                     -- 其他操作走主库-- 配置负载均衡算法(轮询)
UPDATE mysql_servers SET weight=1 WHERE hostgroup_id=20;-- 保存并激活配置
LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;
LOAD MYSQL QUERY RULES TO RUNTIME;
SAVE MYSQL QUERY RULES TO DISK;

🔧 4. 应用连接配置

# 应用端连接配置(替代直连MySQL)
jdbc:mysql://192.168.1.200:6033/db_name?user=app_user&password=AppP@ss

✅ 验证读写分离

# 在ProxySQL监控端查看路由效果
SELECT hostgroup, digest_text 
FROM stats_mysql_query_digest 
ORDER BY last_seen DESC LIMIT 5;

期望输出

SELECT * FROM products   => hostgroup=20  
UPDATE orders SET ...    => hostgroup=10

四、常见问题与解决方案

故障现象排查工具解决方案
读请求仍到主库stats_mysql_query_rules检查正则匹配规则顺序
从库延迟导致脏读SHOW SLAVE STATUS路由延迟超过500ms的从库
ProxySQL内存溢出top -p $(pidof proxysql)调整mysql-query_cache_size
连接池耗尽stats_mysql_connection_pool增加mysql-max_connections

💡 性能调优参数

mysql-interfaces = 0.0.0.0:6033
mysql-max_connections = 2048
mysql-monitor_slave_lag_when_null = 60  # 延迟超时剔除

五、总结与最佳实践

  1. 路由策略进阶

    • 分库分表:通过sharding_key实现水平拆分

    • 读写分治:将/report/路径的查询路由到专用分析库

  2. 高可用方案

    • 双ProxySQL节点 + Keepalived VIP

    • 自动故障切换脚本

  3. 监控三板斧

    proxysql-admin --stats    # 实时性能指标
    Grafana + ProxySQL Exporter # 可视化监控
    SELECT * FROM monitor.mysql_server_ping_log; # 节点健康

  4. 黄金法则

    ⚠️ 永远在预发布环境测试路由规则
    ✅ 读写分离不是银弹,配合缓存和索引优化才是王道

http://www.dtcms.com/wzjs/547346.html

相关文章:

  • vps做自己的网站咸宁手机网站建设
  • 网站后台网址忘记了 php济南移动网站制作
  • 沈阳网站建设设计报价自适应的网站
  • 门户网站的营销特点广州网站app制作公司
  • 企业网站网页打开慢全国网站制作公司排名
  • 江苏城乡住房建设厅网站百度推广怎么做网站的优化
  • 淘宝网站建设需要哪些技术免费微信小程序模板库
  • 鹤壁建设网站推广如何套用wordpress的源码
  • 大岭山仿做网站网站开发报价表
  • 福州网站建设网络公司排名忘记网站后台地址
  • 相亲网站建设ip做网站域名
  • wordpress 卡片式主题网络优化师是什么工作
  • 网站大致内容wordpress 阴影
  • 徐州微网站开发公司网站建设需要的技术
  • unity做网站网上的推广
  • 西安做网站的公司报价施工企业样板先行制度
  • 怎么在网站上做图片轮播建设工程标准 免费下载网站
  • 免费追剧网站大全传媒的域名做个什么网站
  • 纳雍网站建设公司做一般的公司网站需要多少钱
  • 做企业网站需要维护费吗广告设计公司怎么样
  • 网站认证怎么做网站制作找云优化
  • 网站建设设计培训班大学网站建设宣传方案
  • 网站建设及外包广州手机网站开发报价
  • 网站开发 哪家好跨境电商怎么推广引流
  • 怎么在百度建立自己的网站服务器租用网站模版
  • 推荐聊城网站建设golang 网站开发 开源
  • 网站关键字排名怎么做哈尔滨门户网站是什么
  • 温州网站建设模板下载免费阿里域名注册查询
  • 怎么做公众号网站铜山徐州网站开发
  • 网站建设出题优化的近义词