互聯(lián)網(wǎng)/程序員/技術(shù)/資料共享?
來自:網(wǎng)絡(luò)
TenDB Cluster是騰訊游戲CROS DBA團隊提供的MySQL分布式關(guān)系型數(shù)據(jù)庫解決方案,主要包括兼容MySQL協(xié)議、透明分庫分表、負載均衡、高可用、在線擴展等特點。業(yè)務(wù)開發(fā)可以僅專注于業(yè)務(wù)邏輯的開發(fā)和運營,無需編寫數(shù)據(jù)分片邏輯,在海量用戶并發(fā)情況下也無須關(guān)心DB存儲層的負載壓力。架構(gòu)介紹
TenDB Cluster主要有三個模塊:接入層TSpider,存儲層TenDB,控制層Tdbctl。架構(gòu)圖如下:TSpider是TenDB Cluster集群的接入層。TSpider基于MariaDB 10.3.7上的開源存儲引擎spider定制研發(fā)而成,是游戲場景中規(guī)模最大的分布式MySQL存儲引擎。spider存儲引擎類似MySQL分區(qū)表的運作機制,spider原作者Kentoku SHIBA極具創(chuàng)新性的實現(xiàn)了跨機網(wǎng)絡(luò)分區(qū)特性,為MySQL生態(tài)解決擴展性問題,提供了更好選擇。作為一種MySQL引擎,TSpider天然的支持MySQL協(xié)議,而且使用MySQL標準API即可請求TSpider。TSpider在接入到應用請求后,會通過數(shù)據(jù)路由規(guī)則對SQL改寫然后分發(fā)到相應的存儲節(jié)點TenDB執(zhí)行,再對TenDB的返回結(jié)果進行處理最終返回給應用層。TSpider本身并不存儲數(shù)據(jù),基本是無狀態(tài)的(各TSpider節(jié)點部分配置需要不同),可無限水平擴展。應用層可通過負載均衡組件(比如LVS, L5,甚至DNS)提供的統(tǒng)一接入地址訪問多個對等的TSpider節(jié)點。TenDB是TenDB Cluster的數(shù)據(jù)存儲層。TenDB基于Percona Server 5.7.20定制而成,額外提供在線加字段、大字段壓縮、binlog壓縮/限速等特性及性能優(yōu)化、分布式事務(wù)優(yōu)化、BUG FIX等。通常一個集群會有多個TenDB實例,均衡的存儲集群數(shù)據(jù)。每個TenDB可以使用主備部署或者MGR的方式來保證存儲層的可用性。Tdbctl是TenDB Cluster集群的中央控制模塊。Tdbctl主要作用是集群路由配置管理、集群變更、集群切換及一定的集群監(jiān)控。使用說明
TenDB Cluster致力于提供和單實例MySQL一樣的使用方法,具體部署使用見文檔:https://tendbcluster.com/book-cn開源地址
https://github.com/Tencent/TenDBCluster-TSpider推薦閱讀:
“華為天才少年”自制百大Up獎杯,網(wǎng)友:技術(shù)難度不高侮辱性極強
@Autowire和@Resource注解使用的正確姿勢,別再用錯的了!!
5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機,樹莓派,等等。在公眾號內(nèi)回復「2048」,即可免費獲?。?!微信掃描二維碼,關(guān)注我的公眾號
朕已閱?