你们分库分表使用什么中间件,有什么优点和缺点?

分析&回答

根据自己的实际使用来说:

cobar

阿里 b2b 团队开发和开源的,属于 proxy 层方案。早些年还可以用,但是最近几年都没更新了,基本没啥人用,差不多算是被抛弃的状态吧。而且不支持读写分离、存储过程、跨库 join 和分页等操作。

mycat

基于 cobar 改造的,属于 proxy 层方案 ,支持的功能非常完善,而且目前应该是非常火的而且不断流行的数据库中间件,社区很活跃。这种 proxy 层方案的缺点在于需要部署,自己运维一套中间件,运维成本高,但是好处在于对于各个项目是透明的,如果遇到升级之类的都是自己中间件那里搞就行了。

sharding-jdbc

当当开源的,属于 client 层方案 。确实之前用的还比较多一些,因为 SQL 语法支持也比较多,没有太多限制,而且目前推出到了 2.0 版本,支持分库分表、读写分离、分布式 id 生成、柔性事务(最大努力送达型事务、TCC 事务)。这种 client 层方案的优点在于不用部署,运维成本低,不需要代理层的二次转发请求,性能很高,但是如果遇到升级啥的需要各个系统都重新升级版本再发布,各个系统都需要耦合 sharding-jdbc 的依赖;

喵呜面试助手:一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!

相关推荐
局外人Inside4 分钟前
PostProcessingBeanDeserializer 使用指南
java
潇湘秦4 分钟前
ORACLE_PDB_SID和ORACLE_SID的区别
数据库·oracle
郑州光合科技余经理6 分钟前
基于PHP:海外版同城O2O系统多语言源码解决方案
java·开发语言·git·spring cloud·uni-app·php·uniapp
IT_Octopus21 分钟前
Java GZip 压缩实践 +实践思考 +进一步压榨性能和存储方案思考:Protobuf+ GZip
java·spring boot
0***863331 分钟前
SQL Server2019安装步骤+使用+解决部分报错+卸载(超详细 附下载链接)
javascript·数据库·ui
wstcl31 分钟前
通过EF Core将Sql server数据表移植到MySql
数据库·mysql·sql server·efcore
聪聪那年2240 分钟前
Oracle 11g windows 10安装与卸载
数据库·oracle
前端之虎陈随易1 小时前
MoonBit内置数据结构详解
数据结构·数据库·redis
毕设源码-郭学长1 小时前
【开题答辩全过程】以 高校教材大管家系统为例,包含答辩的问题和答案
java·spring boot
Gavin在路上1 小时前
DDD之用事件风暴重构“电商订单履约”(11)
java·前端·重构