一、用戶(hù)在云上使用數據庫,一般是兩種方式:使用云上的 RDS(關(guān)系型數據庫服務(wù)),或者自建數據庫。無(wú)論采用哪一種方式,應用服務(wù)器與數據庫服務(wù)器之間的網(wǎng)絡(luò )延遲都會(huì )對系統整體性能產(chǎn)生不可忽略的影響。目前,在國內還沒(méi)有很好的解決方案。
二、青云QingCloud AppCenter 為用戶(hù)提供了很多高可用的數據庫集群,但仍有用戶(hù)因為各種原因選擇自建數據庫。通常的使用方式是,在 QingCloud 上創(chuàng )建一組虛擬機,并加入到應用服務(wù)器組成的虛擬網(wǎng)絡(luò ) VPC 中,然后將這組數據庫專(zhuān)用虛擬機配置成一個(gè)集群。
以 MySQL 為例,MySQL 作為開(kāi)源數據庫中應用最廣泛的產(chǎn)品,不但提供了非常強大的能力,而且也有大量的第三方組織為其編寫(xiě)了五花八門(mén)的開(kāi)源工具包,幫助用戶(hù)來(lái)搭建自己的數據環(huán)境;但是,一旦要真正進(jìn)入商用環(huán)境,這些開(kāi)源工具往往會(huì )暴露出一些問(wèn)題,如不夠穩定、無(wú)法支持大的數據壓力、無(wú)法保證性能等等。就連最常用的 MySQL Proxy 也在其說(shuō)明文檔中表示“請不要用于正式的商業(yè)環(huán)境”。這樣的問(wèn)題,常常困擾著(zhù)自建云端數據庫的用戶(hù)。
三、SQL 注入式攻擊一直都是應用安全領(lǐng)域的重大問(wèn)題。很多數據庫被攻破都是攻擊者發(fā)起 SQL 注入式攻擊,或者利用了開(kāi)源工具的 0-day 缺陷。如何讓防火墻更快識別 SQL,有效阻止攻擊性 SQL 對數據庫的破壞,也是用戶(hù)所擔心的問(wèn)題。

青云QingCloud AppCenter 的 Heimdall 是一款來(lái)自硅谷的軟件,專(zhuān)為云上應用而設計。針對以上三個(gè)場(chǎng)景,不但能夠幫助應用獲得高可用的數據庫集群,提升性能,還能夠幫助應用輕松地從原有部署環(huán)境遷移到云計算環(huán)境中。其次,Heimdall 可為自建云數據庫集群的用戶(hù)提供高可用的 SQL 負載均衡器。最后,Heimdall 還能夠為用戶(hù)數據庫提供 SQL 防火墻,可防御絕大多數的注入式攻擊和 0-day 攻擊。
Heimdall 的工作原理是,通過(guò)智能緩存的方式提供了一種“一鍵式“的操作方法,能夠讓你在不修改代碼和數據庫的情況下,極大地縮減應用與數據庫之間的網(wǎng)絡(luò )延遲。實(shí)際上,Heimdall 是由安裝在應用服務(wù)器中的客戶(hù)端(我們稱(chēng)其為“數據訪(fǎng)問(wèn)層”組件)和獨立安裝的 Heimdall 中心服務(wù)器組成:
- 數據訪(fǎng)問(wèn)層組件負責分析應用服務(wù)器的 SQL 調用,并將數據庫的返回結果存儲在應用服務(wù)器的內存中。由于內存的容量有限,因此數據訪(fǎng)問(wèn)層中還有智能算法,將過(guò)期的數據進(jìn)行清理或更新。
- 中心服務(wù)器并不會(huì )成為數據的通道,它僅僅負責對數據訪(fǎng)問(wèn)層組件提供統一的配置參數,以及收集各個(gè)應用服務(wù)器的實(shí)時(shí)數據進(jìn)行統一的可視化展示。因此中心服務(wù)器不會(huì )成為系統的故障點(diǎn)。
- Heimdall 的智能緩存支持所有的關(guān)系型數據庫,MySQL、PostgreSQL、Microsoft SQL Server、Oracle、DB2,也支持所有與 MySQL 或 PostgreSQL 兼容的 RDS。
- Heimdall 為 MySQL、PostgreSQL 的用戶(hù)提供了一個(gè)優(yōu)秀的 SQL 負載均衡器。它能幫助用戶(hù)建立自己的數據庫集群,并輕松實(shí)現讀寫(xiě)分離,雙活,數據分片等功能。不僅如此,Heimdall 為數據庫集群提供的高可用方案,在主機出現故障后,切換到其他備份機上的速度遠遠低于其他產(chǎn)品,對最終用戶(hù)幾乎沒(méi)有影響。
- Heimdall 為用戶(hù)提供了基于 SQL 的防火墻功能,能夠自動(dòng)建立 SQL 的白名單和黑名單,有效阻止攻擊性 SQL 對數據庫的破壞。Heimdall SQL 防火墻有兩種模式:學(xué)習模式和防御模式。開(kāi)啟學(xué)習模式后,Heimdall 防火墻能夠自動(dòng)學(xué)習應用正常的 SQL,并將其行為特征記錄下來(lái),并自動(dòng)生成白名單。
一般在測試環(huán)境中開(kāi)啟學(xué)習模式,或者在生產(chǎn)環(huán)境中開(kāi)啟一段時(shí)間的學(xué)習環(huán)境。當白名單生成完畢,即可將防火墻切換到防御模式。防御模式會(huì )將白名單外的所有 SQL 攔截下來(lái),并通知管理員。同時(shí)還可以手動(dòng)設置黑名單,對已知的一些攻擊性 SQL 進(jìn)行防御。
如何在青云QingCloud AppCenter 中使用 Heimdall 呢?

青云QingCloud 用戶(hù)只需要進(jìn)入 AppCenter(https://appcenter.qingcloud.com/apps/app-lmux07c1),點(diǎn)擊“部署到控制臺”,即可在 QingCloud 控制臺開(kāi)始部署。
使用說(shuō)明參見(jiàn):http://www.heimdalldata.cn/qing-cloud-user-guide/
青云QingCloud AppCenter 是一個(gè)生態(tài)平臺,除了 Heimdall,目前已經(jīng)入駐的數據庫應用還有 MySQL Plus、GBase 8a、HashData 數據倉庫、MySQL on TerarkDB、EsgynDB 等。歡迎更多的企業(yè)服務(wù)應用入駐 AppCenter,共同為 QingCloud 逾 8 萬(wàn)家用戶(hù)提供優(yōu)質(zhì)服務(wù)。申請加入:https://appcenter.qingcloud.com/partnership/index.html
AppCenter 激勵計劃
一、面向合作伙伴
AppCenter 認證應用服務(wù)商獎勵計劃
應用服務(wù)商在 AppCenter 發(fā)布應用經(jīng) QingCloud 認證后,可獲得的獎勵額度為 QingCloud 用戶(hù)通過(guò)部署該應用所帶來(lái)的資源(僅含主機和硬盤(pán))消費的 10%。
“平步青云” AppCenter 伙伴計劃
企業(yè)服務(wù)方向的創(chuàng )業(yè)項目,經(jīng) QingCloud 認證審核后,可獲得 2 萬(wàn)元的云服務(wù)資源贊助,同時(shí)應用可以入駐 AppCenter。了解更多:
https://www.qingcloud.com/promotion/startups
二、面向用戶(hù) —— AppCenter 資源優(yōu)惠計劃
公有云用戶(hù)通過(guò) AppCenter 應用所使用的主機和硬盤(pán)資源可享受 10% 的優(yōu)惠。