[TOC]
项目说明
全新设计的mysql分库分表中间件。产品计划使用netty 4.1开发,基于spring boot/cloud提供管理接口。
支持nio和zero-copy的数据透传;支持数据分库、分表以及复合的分库分表功能;分片算法上除支持常见的hash/murmurHash,mod,range,date,code算法外,还额外支持强行指定。
竞品调查
mycat。功能复杂,分表支持不好,转发效率80%。1.x版本现在仍然一堆bug,无人维护,2.x版本开发中,还不支持分库分表。
原计划参与mycat2.x的开发,但是被恶心了一下,想参与开发必须参加leader-us组织的收费培训。。。
kingshard。使用go编写,特色是支持单库分表,但是整体功能简单,路由特性较少,性能尚可。
sharding-jdbc。当当开发,集群试用下存在连接数问题,很要命,和我们现在的问题一样。
项目特色
基于netty 4.1开发,全面支持zero-copy,流式转发。
基于spring-cloud支持集群配置,并在此基础上提供web管理。
支持多级路由链,可以在hash/range分库分表后,再次使用date分表。
更强大的sql统计功能,可以统计前后端sql的执行信息。
支持对mysql主机性能的检测,比如tps和总体延时。
更高性能的连接池机制,更少的锁。
基于mysql主机的连接控制,而非