DCache 分佈式存儲系統|安裝部署與應用建立

做者 | Eatonhtml

導語 | 隨着微服務與雲的發展,分佈式架構的需求變得愈來愈廣泛,Web 上的數據類型再也不單一,數據量呈爆發式增加。傳統的 SQL 結構化存儲方案已經跟不上腳步, NoSQL 便出現了。DCache 做爲基於 TARS 的分佈式 NoSQL 緩存系統,完美支持 TARS 服務,可以方便地在 TARS 服務中使用,本系列文章將着重介紹 DCache 的安裝與使用。那麼如何擁有這套系統呢?本文將對 DCache 的安裝和應用建立方式進行介紹。git

目錄

  • 簡介
    • 背景
    • SQL 與 NoSQL
    • DCache
  • 安裝 DCache
    • 環境依賴
    • 編譯構建
    • 部署
  • 建立 DCache 應用
  • 總結

簡介

背景

隨着移動互聯網和雲的發展,用戶量不斷增加,業務訪問量與日俱增,光靠資源的擴容已經沒法解決全部的問題。特別是像電商平臺、音視頻點播等,存在大規模的數據訪問,對查詢效率要求很高,傳統的數據庫磁盤 IO 已經很難知足。github

爲了解決這一問題,NoSQL 數據庫誕生了,它經過將數據緩存到內存中,使用時直接從內存中調用,大大減小磁盤 IO 的開銷,提高查詢效率,與分佈式結合還可以實現海量數據的處理。這個NoSQL,具體No在哪呢?web

SQL 與 NoSQL

SQL 是指數據庫的結構化查詢語言,它是數據庫的操做命令集,傳統的關係型數據庫都使用標準的 SQL 語句操做處理數據。數據庫

NoSQL 是指一類數據庫,主要用於高性能處理超海量數據,它的一大特色是數據結構簡單,以 key-value 爲主,數據之間非關聯,容易作水平擴展。後端

從字面上看,NoSQL 彷佛是與 SQL 對立的,作 NoSQL 彷佛就意味着放棄 SQL,然而實際上 NoSQL 本意是 Not Only SQL,它不只僅是 SQL,那麼也就能夠包含 SQL 的能力。緩存

DCache

DCache 是一個基於 TARS 框架開發的分佈式 NoSQL 存儲系統,數據採用內存存儲,同時支持鏈接後端 DB 實現數據持久化,結合了 NoSQL 和 SQL 的優點,具有如下特色數據結構

  • 高性能存儲引擎,支持 key-value(鍵值對),k-k-row(多鍵值),list(列表),set(集合),zset (有序集合)等多種數據結構;
  • 採用集羣模式,實現高擴展性和高可用性,支持異地鏡像,就近接入;
  • 支持經過 TARS 名字服務訪問,支持同步、異步、單向 RPC 調用方式;
  • 高效運維平臺,在線完成服務部署、擴縮容、遷移,以及服務配置,服務調用質量監控;
  • 業務無須和直接和 MySQL 交互, DCache 會自動緩寫 DB。

更多關於 DCache 的信息,能夠查看 DCache的GitHub倉庫架構

那麼接下來,咱們來看看如何在 TARS 上安裝部署 DCache。框架

安裝 DCache

環境依賴

DCache 基於 TARS 開發,所以編譯安裝以前,須要先安裝 TARS 框架,具體安裝步驟能夠參考 TARS 框架部署文檔

編譯構建

先將 DCache 源碼克隆下來

git clone https://github.com/Tencent/DCache.git

接着進入 DCache 目錄,執行如下命令進行編譯構建

mkdir build
cd build
cmake ..
make
make release
make tar

執行完以後便可生成 DCache 中各服務的發佈包。

部署

生成發佈包後,接下來就是將 DCache 部署在 TARS 中了。這一步,咱們直接使用 DCache 中的自動部署腳本就能夠了。

咱們只須要進入前面編譯構建項目的 build 目錄,填寫參數,執行安裝腳本便可

cd build
../deploy/install.sh $TARS_MYSQL_IP $TARS_MYSQL_PORT $TARS_MYSQL_USER $TARS_MYSQL_PASSWORD $DCACHE_MYSQL_IP $DCACHE_MYSQL_PORT $DCACHE_MYSQL_USER $DCACHE_MYSQL_PASSWORD $CREATE $WEB_HOST $WEB_TOKEN $NODE_IP

各參數釋義以下

  • TARS_MYSQL_IP: TARS 數據庫的 IP;
  • TARS_MYSQL_PORT: TARS 數據庫的端口;
  • TARS_MYSQL_USER: TARS 數據庫的用戶名;
  • TARS_MYSQL_PASSWORD: TARS 數據庫的密碼;
  • DCACHE_MYSQL_IP: DCache 數據庫的 IP;
  • DCACHE_MYSQL_PORT: DCache 數據庫的端口;
  • DCACHE_MYSQL_USER: DCache 數據庫的用戶名;
  • DCACHE_MYSQL_PASSWORD: DCache 數據庫的密碼;
  • CREATE: 是否從新建立 DCache 的數據庫,爲 true 則從新建立;若是已經建立,例如須要升級原有 DCache,能夠設置爲 false,避免從新建立;
  • WEB_HOST: TarsWeb 平臺地址;
  • WEB_TOKEN: TarsWeb 平臺 Token (須要進入web平臺, 用戶中心上, 建立一個 Token);
  • NODE_IP: 公共服務部署節點 IP, 部署完成後, 你能夠在 TarsWeb 平臺擴容到多臺節點機上。

例如

../deploy/install.sh 192.168.1.123 3306 tarsAdmin Tars@2019 192.168.1.124 3306 root 123456 192.168.1.123:3000 abcdefg1randomtoken12345 192.168.1.123

TARS 與 DCache 的數據庫能夠相同,但若是在正式環境中使用,建議分開使用,爲 DCache 創建獨立的數據庫。

執行完成後,DCache 即安裝完成,以下圖。

建立 DCache 應用

安裝完 DCache,咱們就能夠來建立第一個 DCache 應用了。

首先咱們須要先添加一個地區,用於標識咱們建立的 DCache 應用。點擊頂部的 服務建立,點擊下方 Tab 欄中的 地區,點擊 新增地區,填寫地區和標籤,例如 深圳,標籤 sz,以下

建立完成後,點擊 Tab 欄中的 建立應用,填寫應用名,並選擇一個 IDC 地區,點擊 建立應用。好比咱們建立一個 TestDemo 應用,地區選擇 深圳,以下

Router配置信息 中,選擇 服務IP,並填寫 MySQL 實例信息;Proxy配置信息 中,選擇代理服務的 服務IP,點擊 建立 router、proxy 服務 完成應用建立。

最後,點擊 安裝發佈,便可發佈應用

發佈完成後,回到 服務管理,刷新便可看到剛剛建立的 DCache 應用 TestDemo

咱們將在下一篇文章中介紹如何在這一應用中部署緩存模塊,並在 TARS 服務中使用,敬請期待。

總結

本文簡要介紹了 DCache 的特性,並詳細說明了如何安裝 DCache 並建立一個 DCache 應用,幫助開發者快速部署、上手 DCache。關於 DCache 服務模塊的建立和使用,將在後續系列文章中進行介紹,盡請期待。

TARS 能夠在考慮到易用性和高性能的同時快速構建系統並自動生成代碼,幫助開發人員和企業以微服務的方式快速構建本身穩定可靠的分佈式應用,從而令開發人員只關注業務邏輯,提升運營效率。多語言、敏捷研發、高可用和高效運營的特性使 TARS 成爲企業級產品。

TARS微服務助您數字化轉型,歡迎訪問:

TARS官網:https://TarsCloud.org

TARS源碼:https://github.com/TarsCloud

Linux基金會官方微服務免費課程:https://www.edx.org/course/building-microservice-platforms-with-tars

獲取《TARS官方培訓電子書》:https://wj.qq.com/s2/6570357/3adb/

或掃碼獲取:

QR

相關文章
相關標籤/搜索