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

想建网站须要什么条件站长论坛

想建网站须要什么条件,站长论坛,丽水北京网站建设,android 做电子书下载网站目录 一、原理与架构(读写分离如何工作) 二、为什么需要读写分离? 三、搭建步骤(基于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/439499.html

相关文章:

  • 大连建设工程信息网官网入口嘉兴seo计费管理
  • 做网站要切图吗深圳网站建设推广优化公司
  • 网站颜色搭配实例免费seo快速排名系统
  • 给人做时时彩网站建设犯法建站流程
  • 西安有哪些网站建设公司好品牌策划与推广方案
  • 做包装找灵感看什么网站长春seo结算
  • 做网站有哪个空间互联网营销师考试题及答案
  • 网站建设 网络科技渠道营销推广方案
  • office365做企业网站保定百度首页优化
  • 岳阳网站建设公司网站制作app免费软件
  • wordpress rtmpseo排名推广工具
  • 山东城建设计院网站知识营销成功案例介绍
  • 建网站 技术个人网站制作
  • 用ps做nba网站教程营销策略国内外文献综述
  • 建站吧优秀网页设计
  • wordpress 仿站杭州网站优化搜索
  • 酒店移动网站建设方案北京建站
  • 政府网站建设思路2023年东莞疫情最新消息
  • 在家做的打字兼职的网站网络营销课程有哪些
  • 网站空间怎么查询网络推广的方法和技巧
  • 网络班级网站建设河北seo基础知识
  • 网站建设补充搜索引擎推广步骤
  • wordpress的注册文件seo长尾快速排名
  • 政府网站和政务网站建设自查百度站长之家工具
  • 辽宁新闻网站的建设北京互联网公司排名
  • 织梦cms建设企业网站网页设计是干嘛的
  • 株洲建设网站制作应用商店app下载
  • 网站手机缩放做高端网站公司
  • 苏州园区做网站公司b站怎么推广
  • 微信开发者工具的介绍seo搜索优化工程师招聘