Sharding-JDBC-配置手冊

概述

配置是整個(gè)Sharding-JDBC的核心,是Sharding-JDBC中唯一與應(yīng)用開發(fā)者打交道的模塊。配置模塊也是Sharding-JDBC的門戶,通過它可以快速清晰的理解Sharding-JDBC所提供的功能。

本部分是Sharding-JDBC的配置參考手冊,需要時(shí)可當(dāng)做字典查閱。

Sharding-JDBC提供了4種配置方式,用于不同的使用場景。通過配置,應(yīng)用開發(fā)者可以靈活的使用分庫分表、讀寫分離以及分庫分表 + 讀寫分離共用。

工廠方法API

圖中黃色部分表示的是Sharding-JDBC的入口API,采用工廠方法的形式提供。 目前有ShardingDataSourceFactory和MasterSlaveDataSourceFactory兩個(gè)工廠類。ShardingDataSourceFactory用于創(chuàng)建分庫分表或分庫分表+讀寫分離的JDBC驅(qū)動(dòng),MasterSlaveDataSourceFactory用于創(chuàng)建獨(dú)立使用讀寫分離的JDBC驅(qū)動(dòng)。

配置對象

圖中藍(lán)色部分表示的是Sharding-JDBC的配置對象,提供靈活多變的配置方式。 ShardingRuleConfiguration是分庫分表配置的核心和入口,它可以包含多個(gè)TableRuleConfiguration和MasterSlaveRuleConfiguration。每一組相同規(guī)則分片的表配置一個(gè)TableRuleConfiguration。如果需要分庫分表和讀寫分離共同使用,每一個(gè)讀寫分離的邏輯庫配置一個(gè)MasterSlaveRuleConfiguration。 每個(gè)TableRuleConfiguration對應(yīng)一個(gè)ShardingStrategyConfiguration,它有5中實(shí)現(xiàn)類可供選擇。

僅讀寫分離使用MasterSlaveRuleConfiguration即可。

內(nèi)部對象

圖中紅色部分表示的是內(nèi)部對象,由Sharding-JDBC內(nèi)部使用,應(yīng)用開發(fā)者無需關(guān)注。Sharding-JDBC通過ShardingRuleConfiguration和MasterSlaveRuleConfiguration生成真正供ShardingDataSource和MasterSlaveDataSource使用的規(guī)則對象。ShardingDataSource和MasterSlaveDataSource實(shí)現(xiàn)了DataSource接口,是JDBC的完整實(shí)現(xiàn)方案。

初始化流程

  1. 配置Configuration對象。
  2. 通過Factory對象將Configuration對象轉(zhuǎn)化為Rule對象。
  3. 通過Factory對象將Rule對象與DataSource對象裝配。
  4. Sharding-JDBC使用DataSource對象進(jìn)行分庫。

使用約定

org.apache.shardingsphere.apiorg.apache.shardingsphere.shardingjdbc.api 包中的類是面向用戶的API,每次修改都會(huì)在release notes中明確聲明。 其他包中的類屬于內(nèi)部實(shí)現(xiàn),可能隨時(shí)進(jìn)行調(diào)整,請勿直接使用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容