-
mycat 是一个基于第三方应用中间件的数据库代理框架,客户端所有的 jdbc 请求都必须要先交给 mycat ,再由 mycat 转发到具本的真实服务器中。
sharding-jdbc 是一个jar形式,在本地应用层重写的 jdbc 原生的方法,实现数据库分片形式。 -
mycat 属于 服务器端 的数据库中间件,而 sharding-jdbc 是一个 本地 数据库中间件框架。
-
从设计理念上看确实有一定的相似性。 主要流程都是SQL解析 -> SQL路由 ->SQL改写 -> SQL执行->结果归并。
但架构设计上是不同的。
mycat 是基于Proxy,它复写了Mycat协议,将Mycat server伪装成一个 mycat 数据库;
而sharding-jdbc 是基于 jdbc 的扩展是以jar包的形式提供轻量级服务的。
mycat 与 sharding-jdbc 类似于 nginx 与springcloud ribbon 。