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

分析&回答

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

cobar

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

mycat

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

sharding-jdbc

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

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

相关推荐
2201_757830872 小时前
全局异常处理器
java
小徐Chao努力3 小时前
【Langchain4j-Java AI开发】09-Agent智能体工作流
java·开发语言·人工智能
Coder_Boy_3 小时前
SpringAI与LangChain4j的智能应用-(理论篇3)
java·人工智能·spring boot·langchain
Coder_Boy_3 小时前
基于SpringAI的智能平台基座开发-(六)
java·数据库·人工智能·spring·langchain·langchain4j
热爱专研AI的学妹4 小时前
数眼搜索API与博查技术特性深度对比:实时性与数据完整性的核心差异
大数据·开发语言·数据库·人工智能·python
hopsky4 小时前
ShardingSphere功能简介
数据库·sql
talenteddriver4 小时前
mysql: MySQL索引和排序相关名词概念汇总
数据库·mysql
伯明翰java4 小时前
Java数据类型与变量
java·开发语言
6极地诈唬4 小时前
【PG漫步】DELETE不会改变本地文件的大小,VACUUM也不会
linux·服务器·数据库
想用offer打牌4 小时前
如何开启第一次开源贡献之路?
java·后端·面试·开源·github