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