09 2021 档案

摘要:整体的流程图如上,其中最重要的就是最后2步,分别处理data_stream和session void MySQL_Thread::run() { // 死循环 while (shutdown == 0) { // processing_idles初始化是false,上次检查时间大于ping的周期 i 阅读全文
posted @ 2021-09-06 18:23 阿尔卑斯LOVE 阅读(187) 评论(0) 推荐(0)
摘要:Main thread 初始化核心模块和线程。Main线程最后一部分用watchdog做mysql work线程和idle线程的heartbeat检查,如果超过20次则重启proxy,如果设置restart,则无限重启。 Admin thread 核心循环:admin_main_loop,是Admi 阅读全文
posted @ 2021-09-04 18:00 阿尔卑斯LOVE 阅读(205) 评论(0) 推荐(0)
摘要:main:内存配置数据库,表里存放后端db实例、用户验证、路由规则等信息。表名以runtime_开头的表示proxysql当前运行的配置内容,不能直接改。只能改对应的非runtime_表,然后load生效。 monitor:存储 monitor 模块收集的信息,主要是对后端server的健康/延迟检 阅读全文
posted @ 2021-09-04 17:48 阿尔卑斯LOVE 阅读(158) 评论(0) 推荐(0)
摘要:Main流程图 初始化全局变量,proxysql的main库里面的global_variables里面可查看变量 daemon_fork,这里fork两次(感兴趣可找资料看下),创建守护进程,proxysql宕机可自动拉起。 阶段2-not_started--初始化Main模块,主要就是new来各种 阅读全文
posted @ 2021-09-02 11:42 阿尔卑斯LOVE 阅读(254) 评论(1) 推荐(0)
摘要:ProxySQL介绍 上图中展示了流量从客户端发出 → ProxySQL进行处理转发 → 后端处理 → ProxySQL的前端连接 → 返回客户端的基本流程。下面我们简单梳理下ProxySQL的核心功能如下图。 读写分离:可查询走从库,写入走主库 简单Sharding:ProxySQL的shardi 阅读全文
posted @ 2021-09-02 10:52 阿尔卑斯LOVE 阅读(387) 评论(0) 推荐(0)