Mycat架构与源码精析之一“整体架构”

很久没更新博客啦!^-^

由于个人兴趣,最近研究了下Mycat这个中间件,通读了1.5.2版本的源码。所谓独乐乐不如众乐乐,笔者打算把其中的收获全部分享给大家。所以,近期将会有一系列关于Mycat的博客更新,涵盖Mycat的架构和源码的分析,并重点指出其中设计精要的地方,大家记得关注哦。

 

这是系列第一篇,介绍Mycat的整体架构。

 

开局一张图(此图来源于网络):

 

从上往下看,

MySql Protocol通信层:Application通过mysql协议连接mycat。mycat提供NIO和AIO的方式作为前端Server的实现方式,由于linux不支持AIO,所以目前推荐使用的是NIO的方式。

应用连接池:管理Application与mycat的连接

SQL解析组件+SQL优化组件+SQL路由组件:application的sql经过这三个组件依次做sql的解析、优化和路由,最终确定sql应该路由到哪些后端DB去执行,然后交给SQL执行组件

SQL执行组件:根据路由结果,对所有的target发送SQL语句,这个过程需要从后端的数据库连接池中获取链接,并且通过特定的driver和后端DB进行通信

数据库连接池:后端DB的连接池

后端MySql Protocol通信层+后端JDBC DRIVER:实现特定DB的通信协议,对于mysql来说,提供NIO和AIO的方式,同上,主要用NIO。

 

最后看看左边的“健康&管理”模块,

myCat开启独立的manager端口,可以通过此端口对mycat进行“会话管理”、心跳管理、内存管理、线程管理等管理操作。

 

ok,大家先对Mycat的架构和核心组件有个印象,下一期我们继续深入地分析~

 

 

ps:本系列讲解基于Mycat1.5.2

返回>>系列目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值