电竞比分网-中国电竞赛事及体育赛事平台

分享

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

 印度阿三17 2019-08-09

在All in Cloud的云計算時代,業(yè)務和應用正在不斷“云化”,在此過程中云原生(Cloud Native)理念應運而生。作為云化改造的重要部分,云數據庫因其天生的彈性擴展能力以及靈活、易用等特點,讓其在面對爆炸性增長的數據量和愈加繁復的數據類型時表現的更加游刃有余。

面對業(yè)務及應用的“云原生化”,數據庫技術究竟面臨了怎樣的挑戰(zhàn)及發(fā)展趨勢?為此巨杉科技特別舉辦了“云時代的數據庫架構設計與演進”深圳站活動,邀請多位數據庫領域專家?guī)砭始姵实募夹g干貨、分享實實在在的應用實踐經驗,讓現場數百位開發(fā)者收獲滿滿。

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

云架構下分布式數據庫設計實踐

作為第一位分享嘉賓, 巨杉數據庫研發(fā)副總裁許建輝在主題為“云架構下分布式數據庫設計實踐”的分享中表示,云架構對數據庫的要求最先產生于應用程序的變革。“很早之前,過去的應用開發(fā)并沒有如此多的快速服務幫助,當時的數據開發(fā)模式如何?所有的企業(yè)應該都有平臺部,負責開發(fā)一套與所有數據庫打交道的中間件,負責與所有的數據庫讀取、存儲、前端應用等做業(yè)務方面的鏈接。我們發(fā)現,在這種模式下數據庫是一個集中存儲的狀態(tài),比較耦合?!?/p>

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

隨著互聯網業(yè)務的快速興起以及云架構逐漸普及,進而產生了微服務應用體系。在微服務架構下,我們看到了對數據庫訪問模式發(fā)生的變遷。據了解,目前業(yè)界有三種情況,首先基于微服務并不需要做太多調整,采用集中數據庫存儲,這樣每個微服務的數據接口訪問并不需要做很多變化,可以達成快速適配。

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

但相對之下也有很多不足,比方說數據集中存儲在后端數據庫中,數據的解耦合對每個微服務都有影響,分別是數據讀取本身以及資源,畢竟數據訪問的模式有差別,需求不同。此外在集中存儲后,數據的彈性擴張出現問題。畢竟微服務的模式對數據擴張并不排斥,但存儲不行,不彈性沒商量;如果涉及到更換數據庫也必然會對所有微服務架構產生干擾。

“應對這種情況,現在主流的玩法是每個微服務都有一個獨立存儲,這樣開發(fā)起來比較簡單,但同樣會帶來幾方面的問題,例如每個微服務都具備獨立數據庫存儲之后,每個企業(yè)都會有成千上百的微服務,如何做到統(tǒng)一治理、統(tǒng)一的數據視圖很重要,當然管理成本是個需要前期考量的大問題,避免數據產生嚴重的碎片化很重要?!彼偨Y道。

這種情況需要什么好辦法來解決?通常采用分布式數據庫平臺。對于上層,對所有微服務體系可以抽象出許多數據庫實例,主要用來做接口兼容與轉換。在分享中,許建輝提到,如果需要PostgreSQL,就可以創(chuàng)建PostgreSQL數據庫實例,S3也是如此。對每個實例來說,底層在一個分布式數據庫上所承載的物理機數量,上層并不 “關心”;從數據彈性擴張上來說也完全沒有限制。還有一點,在微服務的發(fā)展過程中,在數據訪問方面,同一份數據的不同業(yè)務模型其訪問能力是有差異的。

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

目前巨杉數據庫主要面對三大業(yè)務場景,第一是聯機交易,替換傳統(tǒng)數據庫,例如MySQL、PostgreSQL、DB2等,可以進行交易場景的處理,讓接口完全兼容等;第二就是數據中臺,將每一部分業(yè)務分享出的數據進行統(tǒng)一管理,主要以大并發(fā)的讀寫為主;此外局勢內容管理了,比方說數據分片能力、水平擴張以及彈性伸縮等分區(qū)操作。

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

談及MySQL接口的兼容,巨杉數據庫可以百分百兼容MySQL數據庫和PostgreSQL數據庫。從兼容層面來講,首先涉及到語法的兼容,其中包括語法庫的兼容;其次是通訊協(xié)議,不僅可以做到應用接口的兼容,還要保證體系工具方向,例如第三方MySQL有很多監(jiān)控、管理和解析分析能力,必然要保證整個體系可以使用;再次就是訪問計劃,要對訪問計劃進行兼容,其中包括統(tǒng)計信息的收集、訪問結構等。

分布式數據庫智能運營平臺—TDSQL扁鵲的架構實現與實踐

會上,騰訊TDSQL智能運營平臺負責人趙東志也應邀來到現場,從云數據庫以及分布式數據庫更細化的運維場景出發(fā)并積極探索。在“分布式數據庫智能運營平臺—TDSQL扁鵲的架構實現與實踐”中,我們初步了解到,TDSQL是騰訊金融云針對金融場景推出的高一致性分布式數據庫,基于MySQL基礎上進行的二次開發(fā);目前在騰訊內部涉及 到 90%的金融和交易,一般情況下交易類型不允許丟數據,所以騰訊海量數據體制要求其具備足夠的擴展能力等。

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

“我們針對數據庫云化的痛點構建了扁鵲平臺,目的很明確,就是希望這個平臺在數據庫出現故障時可以告訴我們該怎么解決;如果沒有出現故障,是否可以通過一些有效的巡檢方式來評估 出現在數據庫中的潛在風險等??傊?,有了這樣一個平臺可以讓我們將多年的運維經驗沉淀到體系中,一定程度上減緩重復勞動的消耗?!壁w東志總結道。

如今數據庫確實面臨很多問題,可以大致區(qū)分為可用性問題、性能問題以及可靠性問題等。TDSQL作為金融級數據庫,有高可用的配置,例如在每個實例上都會模擬Agent,定期向DB實例中插入數據;此外切換本身對數據是無損的,但在金融場景中并不希望有過多的切換,主要是因為時間上的影響。更加常見的、用戶自身對數據庫的用法不太合理所導致的問題,一方面是InnoDB并發(fā)線程的問題,另外一方面是Binlog的問題。

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

對此他認為:“如果用戶有大量慢查詢,他們就會長期循環(huán)占用工作線程,結果會導致阻塞到InnoDB。如果用戶有大量,例如并發(fā)執(zhí)行100個會話,也會有問題出現;眾所周知,MySQL金融場景要求Binlog,數據寫入之前,Binlog做主備同步,相當于Binlog和InnoDB要一致,Binlog負責主備同步關系。我一直覺得任何一個數據庫無法完美應用各種場景,都有最大的適用范圍。如果想更高效發(fā)揮數據庫的能力,就要遵守數據庫的規(guī)則?!?/p>

分布式搜索和分析引擎—阿里云Elasticsearch架構設計與演進

“談到Elasticsearch,大家會想到ELK,這是比較流行的組合。Elasticsearch是基于Lucene的開源分布式搜索和分析引擎,可以根據Logstash做數據過濾、修改和收集,其中Kibana主要用于數據展示和報表。此外做日志分析的企業(yè)用Elasticsearch也比較多,還 有些客戶可能會去做指標數據的分析或者安全類應用的分析?!卑⒗锇桶退阉骷夹g專家歐陽楚才在“分布式搜索和分析引擎—阿里云Elasticsearch架構設計與演進”的主題中說。

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

據了解,Elasticsearch用Java語言開發(fā),而使用Java語言都會遇到內存垃圾回收的問題。這樣就導致如果應用并發(fā)量特別高,每一個請求都會占用一定的內存,如果Java虛擬機處理不及時,很有可能會導致JVM虛擬機的宕機。

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

2019年4月,Elasticsearch發(fā)布7.0版本加并入了Top K排序,7.0版本后,Elasticsearch本身會監(jiān)測實際請求的使用量并配置熔斷,例如查詢請求對JVM使用內存超過40%則直接停止請求等。經常在關系型數據庫中做查詢或比較耗時的請求,可能會把數據庫“拖慢”。如果可以提前識別出這樣的請求,提前中斷,就可以高效保證其他請求正常運行。伴隨技術迭代與升級,在7.1版本里,Elasticsearch公司把商業(yè)版特性、安全特性開始免費,而這個特性特別有用,因為原來開源版本沒有賬號密碼和認證,這個版本后把賬號密碼安全認證功能免費使用起來。

歐陽楚才還補充道,Elasticsearch本身可從一個節(jié)點擴展到上百個節(jié)點,最開始開發(fā)自測階段可以在本機搭建單節(jié)點集群并完成數據的寫入和查詢,且推送到生產環(huán)境,通常會按角色拆分不同角色的節(jié)點,分別負責不同的功能模塊。更重要的是,Elasticsearch有Master節(jié)點,負責集群元數據信息的管理、索引的分片管理;DataNode節(jié)點主要負責數據存儲和查詢;還有一個節(jié)點類型叫做客戶端節(jié)點或者協(xié)調服務器節(jié)點,負責接收用戶的查詢請求,把查詢和寫入請求分發(fā)給數據節(jié)點。

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

阿里云從2017年開始與Elasticsearch合作,把Elasticsearch搬到阿里云上提供托管式服務,針對寫入、查詢做了性能上的調優(yōu)。如今,阿里云Elasticsearch規(guī)模有超過3000個集群,節(jié)點數超過1萬 ,存儲數量超過5PB,其最重要的工作是保證數據安全?!皩Υ宋覀冊谕饷婕恿艘粚覺-pack安全認證,必須創(chuàng)建用戶名密碼,通過用戶名密碼實現訪問,另外還可以配置IP段來訪問Elasticsearch服務,避免******?!?/p>

有時候,很多用戶自己搭建Elasticsearch時會遇到一些問題,尤其是新手部署集群時沒有專門配置專有主節(jié)點,導致集群里的節(jié)點通訊出現問題等。他提出,在阿里云上,一般推薦專門配置三個專有主節(jié)點來負責數據管理和分片管理。當然不排除有一些金融行業(yè)客戶對數據的安全要求特別高,要求多個機房上任意一個機房掉電或者光纖被挖斷的情況下,服務都可以做到高可用。在易用性方面,阿里云支持X-pack、監(jiān)控告警、機器學習等功能?!肮芾鞥lasticsearch集群實例比較方便,可以自定義安裝自研或者開源的插件,也可以用自研的分詞。阿里云的安全團隊在Kibana上做了很多定制化開發(fā),方便用戶使用?!?/p>

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

“在Elasticsearch內核方面我們做了很多工作,支持分布式存儲讀寫。在軟件層面,我們團隊有工程師專門研究Elasticsearch索引分片機制,讓所有分片可以彈性擴建或者縮容?;贓lasticsearch做的應用案例,眾安保險在今年四月份Elasticsearch發(fā)布會上介紹過他們在阿里云上使用Elasticsearch的經驗等?!?/p>

SequoiaDB分布式集群生態(tài)工具及容器化部署實戰(zhàn)

技術分享逐漸接近尾聲,巨杉技術社區(qū)杜蓉帶來“SequoiaDB分布式集群生態(tài)工具及容器化部署實戰(zhàn)”的演講。她提出,巨杉數據庫生態(tài)工具中,一種是管理工具,另一種是數據備份、遷移、導入工具。支持MySQL Workbench,以及很多MySQL周邊的工具。像Workbench一樣,可以查到它對應的表;可以通過圖形化進行監(jiān)控,也可以通過工具對集群的系統(tǒng)信息進行批量修改。

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

此外關于備份,分別涉及到數據庫集的備份、集群級備份和文件系統(tǒng)級備份三種。所謂集群級備份,設有集群備份的指令,根據指令選擇全量備份還是增量備份;此外集群級備份的數據量比較大。復制方面,異步復制比較簡單,支持的實例比較多,可以用MySQL、DB2、Informix、Oracle等,用自身導入到處工具;準同步復制,MySQL用自己的工具把日志實施寫入管道中,通過ApacheStorm做標準化的修改,修改成DML或者DDL命令。

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

另外,杜蓉還在現場為開發(fā)者們列舉了三種安裝數據庫的方式:首先就是安裝包,直接安裝在機器上;其次就是通過VMWare導入虛擬機鏡像;另外就是Docker鏡像等。

一鍵直達:巨杉Tech | SequoiaDB Docker鏡像使用教程

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!

盡管針對云時代的數據庫架構設計與演進精彩技術分享已暫時告一段落,但關于面對業(yè)務及應用的“云原生化”,數據庫技術究竟面臨了怎樣的挑戰(zhàn)及發(fā)展趨勢的系列問題探討依舊在火熱進行中,敬請繼續(xù)關注巨杉TechDay技術沙龍的后續(xù)活動。

巨杉TechDay回顧 | 技術人的夏天 · 就是這么燃!



來源:https://www./content-4-384451.html

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多