Apache ShardingSphere 是一個(gè)開源的分布式數(shù)據(jù)庫(kù),它還有一個(gè)用戶和開發(fā)人員需要的生態(tài)系統(tǒng),為之提供了定制和云原生的體驗(yàn)。
Apache ShardingSphere 是一個(gè)開源的分布式數(shù)據(jù)庫(kù),它還有一個(gè)用戶和開發(fā)人員需要的生態(tài)系統(tǒng),為之提供了定制和云原生的體驗(yàn)。在加入 Apache 基金會(huì)的三年里,ShardingSphere 核心團(tuán)隊(duì)與社區(qū)一起努力工作,創(chuàng)建了一個(gè)開源的、強(qiáng)大的、分布式的數(shù)據(jù)庫(kù)和一個(gè)支持性生態(tài)系統(tǒng)。
ShardingSphere 并不完全符合業(yè)界通常的簡(jiǎn)單分布式數(shù)據(jù)庫(kù)中間件解決方案的模式。ShardingSphere 重新創(chuàng)建了分布式可插拔系統(tǒng),使實(shí)際的用戶實(shí)施方案得以蓬勃發(fā)展,并為社區(qū)和數(shù)據(jù)庫(kù)行業(yè)貢獻(xiàn)有價(jià)值的解決方案。
ShardingSphere 的目標(biāo)是 Database Plus 概念。
Database Plus
Database Plus 的出發(fā)點(diǎn)是在零散的數(shù)據(jù)庫(kù)基本服務(wù)之上建立一個(gè)標(biāo)準(zhǔn)層和生態(tài)系統(tǒng)層。統(tǒng)一的、標(biāo)準(zhǔn)化的數(shù)據(jù)庫(kù)使用規(guī)范為上層應(yīng)用提供了保障,盡可能的減少了企業(yè)因底層數(shù)據(jù)庫(kù)碎片化而面臨的挑戰(zhàn)。為了連接數(shù)據(jù)庫(kù)和應(yīng)用,它使用了流量和數(shù)據(jù)的渲染和解析。它為用戶提供了增強(qiáng)的核心功能,如分布式數(shù)據(jù)庫(kù)、數(shù)據(jù)安全、數(shù)據(jù)庫(kù)網(wǎng)關(guān)和壓力測(cè)試。
ShardingSphere 為 Database Plus 使用了可插拔的內(nèi)核架構(gòu)。這意味著模塊化,這為用戶提供了靈活性。它有幾個(gè)不同的層:
- 基礎(chǔ)層: 提供各種訪問(wèn)終端和訪問(wèn)形式,滿足用戶在不同場(chǎng)景下的需求。
- 插件層: 通過(guò)實(shí)現(xiàn)可擴(kuò)展性提供基礎(chǔ)設(shè)施支持。
- 功能層: 提供各種滿足用戶需求的功能插件,使用戶在選擇和組合插件時(shí)具有高度的靈活性。
- 產(chǎn)品層: 這是終端用戶看到的層。這為他們提供了面向行業(yè)和特定場(chǎng)景的產(chǎn)品。換句話說(shuō),它為用戶提供了適合他們所做的任何工作的工具。
Database Plus platform
(Trista Pan, CC BY-SA 4.0)
用 DistSQL 進(jìn)行標(biāo)準(zhǔn)化的集群管理
Apache ShardingSphere 采用獨(dú)特的 SQL 方言 DistSQL(分布式 SQL)來(lái)連接 ShardingSphere 生態(tài)系統(tǒng)的所有元素。作為 ShardingSphere 分布式數(shù)據(jù)庫(kù)生態(tài)系統(tǒng)的標(biāo)準(zhǔn)交互語(yǔ)言,DistSQL 允許用戶使用一個(gè) SQL 命令來(lái)創(chuàng)建、修改或刪除分布式數(shù)據(jù)庫(kù)表或?qū)ζ溥M(jìn)行加密或解密。DistSQL 還支持分布式調(diào)度管理。
DistSQL
(Trista Pan, CC BY-SA 4.0)
多訪問(wèn)終端
ShardingSphere JDBC 和 ShardingSphere Proxy 經(jīng)過(guò)兩年的打磨和測(cè)試,目前已經(jīng)可以投入生產(chǎn)。許多社區(qū)用戶提供了相關(guān)的生產(chǎn)社區(qū)案例。
多虧共享核心架構(gòu),以及不同的 ShardingSphere 適配器,如果用戶的生產(chǎn)環(huán)境需要,可以選擇混合適配器部署(如下圖所示)。
Hybrid deployment
(Trista Pan, CC BY-SA 4.0)
分布式治理
在 ShardingSphere 生態(tài)系統(tǒng)中,計(jì)算和存儲(chǔ)是分開的,因此具備對(duì)數(shù)據(jù)庫(kù)進(jìn)行分布式治理的能力,所以你可以維護(hù)許多存儲(chǔ)節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn),實(shí)施斷路器,并確保高可用性。
Distributed governance
(Trista Pan, CC BY-SA 4.0)
使用 Grafana 監(jiān)控
ShardingSphere 也有狀態(tài)指標(biāo)來(lái)監(jiān)控你的基礎(chǔ)設(shè)施。代理動(dòng)態(tài)加載機(jī)制為你提供了指標(biāo)和跟蹤指標(biāo),方便您將 APM 系統(tǒng)與 Grafana 儀表板集成。
Grafana dashboard
(Trista Pan, CC BY-SA 4.0)
分布式社區(qū)的分布式數(shù)據(jù)庫(kù)
社區(qū)正在繼續(xù)優(yōu)化 ShardingSphere,并整合新的想法和行業(yè)場(chǎng)景。社區(qū)構(gòu)建了它,而開發(fā)的主要?jiǎng)恿χ皇怯脩舴答?。這是開源的一個(gè)特點(diǎn),但也是這個(gè)團(tuán)隊(duì)的實(shí)踐方法。ShardingSphere 社區(qū)的核心團(tuán)隊(duì)成員很樂(lè)意指導(dǎo)任何對(duì)開源感興趣的人,并為有興趣幫助開發(fā)的學(xué)生提供實(shí)踐問(wèn)題。團(tuán)隊(duì)也希望有新的朋友或貢獻(xiàn)者加入社區(qū),促進(jìn)思想的開放交流,創(chuàng)造一個(gè)真正的全球開發(fā)者社區(qū)。
原文鏈接:https://linux.cn/article-14095-1.html