直播APP源碼,MySQL數(shù)據(jù)庫和多租戶之間的關(guān)系
隨著直播APP源碼的業(yè)務(wù)數(shù)量快速增長,傳統(tǒng)架構(gòu)下業(yè)務(wù)對應(yīng)的單個數(shù)據(jù)庫實例不再夠用,需要考慮一主多從的部署模式提高數(shù)據(jù)可靠性,就目前直播APP源碼常用的MySQL數(shù)據(jù)庫就有很多痛點存在,解決這些痛點后在考慮一主多從部署模式很重要。
?

一、MySQL業(yè)務(wù)模式痛點
1、硬件利用率低。業(yè)務(wù)使用 MySQL 主從架構(gòu),需要多臺服務(wù)器, MySQL 備庫讀寫請求少,硬件資源利用率低;數(shù)據(jù)庫一般會預(yù)留資源以應(yīng)對流量高峰,非業(yè)務(wù)高峰期有大量閑置資源無法有效利用;不同業(yè)務(wù)繁忙時間不一樣,部分業(yè)務(wù)高峰時無法借用低峰業(yè)務(wù)數(shù)據(jù)庫的資源。
2、擴(kuò)展性差。當(dāng)直播APP源碼的業(yè)務(wù)量和數(shù)據(jù)量增長時,單機(jī) MySQL 不足以支撐業(yè)務(wù)負(fù)載。
?

二、解決方案
如何解決以上問題呢,可以考慮使用多租戶技術(shù)完成多業(yè)務(wù)系統(tǒng)使用統(tǒng)一的集群,確保不同業(yè)務(wù)負(fù)載隔離,再利用實時能力實現(xiàn)直播APP源碼跨業(yè)務(wù)數(shù)據(jù)關(guān)聯(lián)查詢。
1、根據(jù)多個業(yè)務(wù)負(fù)載分別設(shè)置不同資源組,當(dāng) TiDB 整體資源繁忙時實現(xiàn)不同業(yè)務(wù)基于 RU 限流和負(fù)載隔離。
2、為錯峰且重要業(yè)務(wù)設(shè)置資源組屬性,實現(xiàn)跨業(yè)務(wù)錯峰資源借用。
3、設(shè)置重要業(yè)務(wù)優(yōu)先級為高,確保集群優(yōu)先保證重要業(yè)務(wù)資源可用。
4、使用 TiFlash 完成跨業(yè)務(wù)統(tǒng)一視圖和實時數(shù)據(jù)分析需求。
?

三、方案的優(yōu)勢
1、節(jié)約硬件成本
MySQL 主從架構(gòu)從節(jié)點利用率低,TiDB 多活架構(gòu)所有節(jié)點平等且資源利用率高。當(dāng) TiDB 統(tǒng)一資源池資源不夠時可以隨時在線擴(kuò)展,無需為業(yè)務(wù)預(yù)留太多閑置資源,提升直播APP源碼整體資源利用率。借助多租戶 BURSTABLE 特性,實現(xiàn)不同業(yè)務(wù)資源借用,進(jìn)一步提升整體資源利用率。
2、降低開發(fā)和運維成本
TiDB 對應(yīng)用透明無侵入,可降低開發(fā)成本,縮短業(yè)務(wù)上線周期。從管理多套 MySQL 到管理一套 TiDB 集群,大幅降低了直播APP源碼數(shù)據(jù)庫運維成本。
3、解決數(shù)據(jù)孤島問題
使用 TiFlash 支持跨業(yè)務(wù)強(qiáng)一致性數(shù)據(jù)查詢,支持統(tǒng)一視圖、實時數(shù)據(jù)分析、實時風(fēng)控等業(yè)務(wù)。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任