-
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 。