读扩展架构
原生读写分离架构
Mysql Proxy架构
shared key到实例采用两级映射方案
优点:扩容缩容非常方便
采用hash分片算法,在一开始就要分足够多的子表,如果日后再扩充就会非常麻烦,需要把历史数据重新导一遍,如果是range算法就没有这个问题
kingshard的数据分片算法
SQL Parser的设计与实现
一条SQL的旅行
对于每一个连接,kingshard单独起一个协程来处理
MySQL实例的单表水平扩展,解决单表数据量过大的问题。
需要注意跨表join问题,这也是数据库中间件的弊端,它没有查询计划功能,只能转发SQL语句。kingshard只支持分表+全表join操作,其中一张表必须是全表。
MySQL实例的读扩展,解决单个MySQL实例负载过高的问题,读写一致性解决思路是sql前面加/*master*/
kingshard的功能
1、支持SQL的读写分离:一台master,多台slave,按照负载权重进行负载均衡
2、支持分库分表
3、支持平滑上线或下线DB,前端应用无感知:管理端命令
4、支持SQL黑名单机制:动态添加,相当于服务降级
5、支持慢SQL统计
6、支持访问IP白名单机制
MySQL Proxy要解决的问题:
1、SQL请求的读写分离
2、DB运维与业务代码严重耦合
什么是MySQL Proxy
Kingshard的功能
Kingshard的功能
Go Proxy 优势
DB运维与业务代码严重耦合
SQL请求的读写分离
什么是MySQL Proxy?
MySQL Proxy 在系统中的位置
docker 官方可视化管理工具kitematic
吃的房贷房贷房贷分
请输入笔记内容...s地方大师傅士大夫大师傅但是