資料內容:
一、ShardingSphere
ShardingSphere是一款起源于當當網內部的應用框架。2015年在當當網內部誕 生,最初就叫ShardingJDBC。2016年的時候,由其中一個主要的開發(fā)人員張亮, 帶入到京東數科,組件團隊繼續(xù)開發(fā)。在國內歷經了當當網、電信翼支付、京東數 科等多家大型互聯網企業(yè)的考驗,在2017年開始開源。并逐漸由原本只關注于關系 型數據庫增強工具的ShardingJDBC升級成為一整套以數據分片為基礎的數據生態(tài) 圈,更名為ShardingSphere。到2020年4月,已經成為了Apache軟件基金會的頂 級項目。 ShardingSphere包含三個重要的產品,ShardingJDBC、ShardingProxy和 ShardingSidecar。其中sidecar是針對service mesh定位的一個分庫分表插件,目 前在規(guī)劃中。而我們今天學習的重點是ShardingSphere的JDBC和Proxy這兩個組 件。 其中,ShardingJDBC是用來做客戶端分庫分表的產品,而ShardingProxy是用 來做服務端分庫分表的產品。這兩者定位有什么區(qū)別呢?我們看下官方資料中給出 的兩個重要的圖:
shardingJDBC定位為輕量級 Java 框架,在 Java 的 JDBC 層提供的額外服務。它 使?客戶端直連數據庫,以 jar 包形式提供服務,?需額外部署和依賴,可理解為增 強版的 JDBC 驅動,完全兼容 JDBC 和各種 ORM 框架。