Mycat源码分析
来源:互联网 发布:2017淘宝违规考试答案 编辑:程序博客网 时间:2024/06/05 17:12
NIO
1.org.opencloudb.net.NIOProcessor 检查前端连接 检查后端连接 连接清理
2.org.opencloudb.net.NIOReactorPool NIOReactor线程池 存放reactor线程 初始化并启动
3.org.opencloudb.net.NIOReactor 处理读写请求
3.org.opencloudb.net.NIOConnector.NIOConnector 存放NIOReactor线程池 对应前端的一个连接或者后端连接(连接成功交给ractor线程处理)
org.opencloudb.net.factory.FrontendConnectionFactory
org.opencloudb.net.factory.BackendConnectionFactory
org.opencloudb.manager.ManagerConnectionFactory
org.opencloudb.server.ServerConnectionFactory
org.opencloudb.mysql.nio.MySQLConnectionFactory
生成对应的前端连接 和后端连接和管理连接
org.opencloudb.mysql.nio.MySQLConnection
org.opencloudb.server.ServerConnection
org.opencloudb.manager.ManagerConnection
4.org.opencloudb.net.NIOAcceptor.NIOAcceptor 分成管理端(9066)和服务端(8066) 接受前端连接
5.初始化数据源org.opencloudb.backend.PhysicalDBPool datahost database.xml 文件
org.opencloudb.backend.PhysicalDBPool 里面进行初始化后端连接initSource方法每个数据源都初始化一个连接保证最小连接数
初始化一个connection(org.opencloudb.mysql.nio.MySQLConnectionFactory)
定时任务
1.系统时间定时更新任务
2.处理器定时检查任务
3.数据节点定时连接空闲超时检查任务
4.数据节点定时心跳任务
5.catletClassClear
handle
org.opencloudb.mysql.nio.MySQLConnectionAuthenticator 验证处理器
org.opencloudb.net.handler.FrontendAuthenticator 前端验证处理
org.opencloudb.net.handler.FrontendCommandHandler 前端命令处理
org.opencloudb.mysql.nio.MySQLConnectionHandler 认证之后操作
org.opencloudb.server.ServerQueryHandler
查询的方法
org.opencloudb.server.handler.SelectHandler
到ServerConnection的execute 方法 -> routeEndExecuteSQL (选择路由并执行sql)
单节点 org.opencloudb.mysql.nio.handler.SingleNodeHandler
多节点和全区表
org.opencloudb.mysql.nio.handler.GlobalTableMultiNodeQueryHandler
org.opencloudb.mysql.nio.handler.MultiNodeQueryHandler
文件
database.xml
user.xml mycat用户前端
server.xml mycat服务端的一些配置
schema.xml mycat的表的配置
rule.xml 分片规则
router.xml 路由规则
1.org.opencloudb.net.NIOProcessor 检查前端连接 检查后端连接 连接清理
2.org.opencloudb.net.NIOReactorPool NIOReactor线程池 存放reactor线程 初始化并启动
3.org.opencloudb.net.NIOReactor 处理读写请求
3.org.opencloudb.net.NIOConnector.NIOConnector 存放NIOReactor线程池 对应前端的一个连接或者后端连接(连接成功交给ractor线程处理)
org.opencloudb.net.factory.FrontendConnectionFactory
org.opencloudb.net.factory.BackendConnectionFactory
org.opencloudb.manager.ManagerConnectionFactory
org.opencloudb.server.ServerConnectionFactory
org.opencloudb.mysql.nio.MySQLConnectionFactory
生成对应的前端连接 和后端连接和管理连接
org.opencloudb.mysql.nio.MySQLConnection
org.opencloudb.server.ServerConnection
org.opencloudb.manager.ManagerConnection
4.org.opencloudb.net.NIOAcceptor.NIOAcceptor 分成管理端(9066)和服务端(8066) 接受前端连接
5.初始化数据源org.opencloudb.backend.PhysicalDBPool datahost database.xml 文件
org.opencloudb.backend.PhysicalDBPool 里面进行初始化后端连接initSource方法每个数据源都初始化一个连接保证最小连接数
初始化一个connection(org.opencloudb.mysql.nio.MySQLConnectionFactory)
定时任务
1.系统时间定时更新任务
2.处理器定时检查任务
3.数据节点定时连接空闲超时检查任务
4.数据节点定时心跳任务
5.catletClassClear
handle
org.opencloudb.mysql.nio.MySQLConnectionAuthenticator 验证处理器
org.opencloudb.net.handler.FrontendAuthenticator 前端验证处理
org.opencloudb.net.handler.FrontendCommandHandler 前端命令处理
org.opencloudb.mysql.nio.MySQLConnectionHandler 认证之后操作
org.opencloudb.server.ServerQueryHandler
查询的方法
org.opencloudb.server.handler.SelectHandler
到ServerConnection的execute 方法 -> routeEndExecuteSQL (选择路由并执行sql)
单节点 org.opencloudb.mysql.nio.handler.SingleNodeHandler
多节点和全区表
org.opencloudb.mysql.nio.handler.GlobalTableMultiNodeQueryHandler
org.opencloudb.mysql.nio.handler.MultiNodeQueryHandler
文件
database.xml
user.xml mycat用户前端
server.xml mycat服务端的一些配置
schema.xml mycat的表的配置
rule.xml 分片规则
router.xml 路由规则
阅读全文
0 0
- Mycat源码分析
- Mycat源码篇 : MyCat线程模型分析
- Mycat源码篇 : MyCat事务管理机制分析
- Mycat源码篇 : Mycat sql解析模块分析
- mycat 1.6 源码分析-网络篇
- MyCAT源码分析:调试环境搭建
- 数据库中间件MyCAT源码分析:【单库单表】插入
- 数据库中间件MyCAT源码分析:【单库单表】查询
- mycat 结果集合并源码分析
- 数据库中间件 MyCAT源码分析 —— 跨库两表Join
- 数据库中间件 MyCAT源码分析 —— XA分布式事务
- 数据库中间件 MyCAT源码分析 —— PreparedStatement 重新入门
- 数据库中间件 MyCAT 源码分析 —— SQL ON MongoDB
- MyCAT 源码分析 —— SQL ON MongoDB
- MyCat源码解析(1)
- Mycat源码篇 : 总览
- mycat源码解析
- Mycat源码篇 : Mycat sql预处理功能分析
- java连接虚拟机中的redis服务
- 单链表反转
- ionic在Ios和Android上样式不兼容问题~
- webstorm 2017开发less、stylus报错
- 51nod 只包含因子2 3 5的数 dfs打表+二分
- Mycat源码分析
- 本地配置Java项目映射为外网访问【https协议版本】
- 浅析C#中foreach引用变量
- 单链表环相关问题
- JAVA工程师有没有前途?
- 连续点击两次退出程序
- Hibernate 一级缓存(session级别)、二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题
- oracle 与 mysql 中的函数总结
- 递归建立普通二叉树两种方式遍历