数据库中间件系列架构实战-架构实现

整体架构

在这里插入图片描述

  • Proxy最主要是要连接CLIENT和MYSQL,通信至关重要,以Netty作为通信组件,封装MYSQL协议,主要解决粘包和拆包问题
  • MYSQL协议层,解析mysql协议,主要负责将Netty接收的TCP包,按照MYSQL协议,解析成SQL语句;还有就是将处理完合并后的SQL语句解析成MYSQL协议发送到指定的地方
  • MYSQL协议解析成SQL语句之后,使用SqlParser组件将MYSQL解析成语法树,获取SQL的各个部分的信息
  • 然后使用SqlRouter组件读取配置的分库分表或者其他策略,重写SQL语句,并且选择路由的节点
  • 然后把这些SQL放到SqlExecutor组件中,选择合适的执行策略,例如线程池,栅栏,信号量等
  • 最后再通过通信层将这些需要执行的SQL发送到MYSQL
  • mysql处理完成之后,返回的数据通过通信层接收,SqlExecutor组件执行,最后的结果可能需要通过ResultMerger组件进行合并之后,再通过通信层发送回客户端

MYSQL 协议

在这里插入图片描述
mysql协议基础packet

  • payload len
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值