主頁 > 知識(shí)庫(kù) > 深入分析京東云數(shù)據(jù)庫(kù)的運(yùn)營(yíng)模式

深入分析京東云數(shù)據(jù)庫(kù)的運(yùn)營(yíng)模式

熱門標(biāo)簽:地圖標(biāo)注不顯示 金蘭灣地圖標(biāo)注app 外呼系統(tǒng)2273649Z空間 百應(yīng)電話機(jī)器人價(jià)值 福州公司外呼系統(tǒng)加盟 周口權(quán)威的不封卡電話外呼系統(tǒng) 河北crm外呼系統(tǒng)平臺(tái) 河南語音外呼系統(tǒng)平臺(tái) 南京400電話辦理到易號(hào)網(wǎng)

電商不僅僅是大數(shù)據(jù)驅(qū)動(dòng)的,京東用大數(shù)據(jù)為用戶、商品等帶來運(yùn)營(yíng)效率的提升。同時(shí),從在線的數(shù)據(jù)訪問來講,電商業(yè)務(wù)需要非??焖俚臄?shù)據(jù)訪問。大家可以看到,京東隨便打開京東首頁或類似的電商首頁,圖片是京東的資產(chǎn),是商品形象的描述,可以用CDN加速。除了圖片之外,其他幾乎都是動(dòng)態(tài)內(nèi)容,量很大,且是頻繁被改寫的,它們需要非常快速的訪問,比如說商品的詳情、價(jià)格、品類下推薦的結(jié)果等許多內(nèi)容,打開個(gè)商品詳情頁面或列表頁,后臺(tái)邏輯是很復(fù)雜的,需要非常多的數(shù)據(jù)去展現(xiàn)。

這個(gè)過程中,一個(gè)是快速的數(shù)據(jù)訪問對(duì)終端用戶的體驗(yàn)有非常關(guān)鍵的影響。另外,從京東產(chǎn)品工程師開發(fā)的產(chǎn)品角度出發(fā),另一個(gè)訴求就是關(guān)注業(yè)務(wù)邏輯,而不應(yīng)該花時(shí)間優(yōu)化后臺(tái)在線存儲(chǔ)的性能。Jim Gray是數(shù)據(jù)庫(kù)領(lǐng)域的泰斗級(jí)人物,他其中一句話我記得很清楚,即“Memory is the new disk(內(nèi)存是新的磁盤)”。07、08年時(shí)京東買的內(nèi)存大小標(biāo)準(zhǔn)配置是4G左右,很快4G、8G、16G一路下來,很多公司都會(huì)采購(gòu)158、265G內(nèi)存,估計(jì)明年都會(huì)用1T內(nèi)存。京東都用265G內(nèi)存加萬兆網(wǎng)卡來做,單機(jī)內(nèi)存在快速變大,整體很多在線的小結(jié)構(gòu)和半結(jié)構(gòu)化數(shù)據(jù)存放在內(nèi)存里,這個(gè)問題是不大的,也是非常合理的。而且用內(nèi)存做在線存儲(chǔ)確實(shí)有弊端,就是成本在一個(gè)時(shí)間段內(nèi)有些偏高,但是除此之外卻帶來很多性能、管理等各方面的便捷性,兩相權(quán)衡下,在一定程度上,成本的升高對(duì)有一定規(guī)模和業(yè)務(wù)比較重要的公司可以接受,而且京東可以用技術(shù)手段降低這個(gè)成本。

JIMDB的全稱為The Jingdong In-Memory Database,這個(gè)系統(tǒng)的名字是大概2014年初起的,它并不是嚴(yán)格的關(guān)系型數(shù)據(jù)庫(kù),而是一種新型的,以內(nèi)存為中心的全部托管、全管理服務(wù)化的數(shù)據(jù)庫(kù)。它是以內(nèi)存為中心的數(shù)據(jù)存儲(chǔ),主要針對(duì)在線的結(jié)構(gòu)或半結(jié)構(gòu)化的數(shù)據(jù),過去兩年一直在持續(xù)建設(shè)。從目前的業(yè)務(wù)價(jià)值角度,它支撐了京東幾乎所有的在線業(yè)務(wù)。除圖片之外,幾乎所有的動(dòng)態(tài)內(nèi)容都被它所服務(wù),或者嚴(yán)格來說,圖片的有些信息也用它來存儲(chǔ)。越來越呈現(xiàn)一個(gè)趨勢(shì),就是京東更多地用它來做主存儲(chǔ),MySQL或者DataBase會(huì)進(jìn)行歸檔。

接下來從技術(shù)角度做個(gè)簡(jiǎn)單介紹。JIMDB基于redis,redis是一個(gè)非常優(yōu)秀的開源軟件,它做對(duì)了兩個(gè)事情。第一,它是基于內(nèi)存的,簡(jiǎn)單且高性能;第二,也是基于內(nèi)存,它提供了非常豐富的數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)。對(duì)許多互聯(lián)網(wǎng)公司來說非常方便,比如商品的詳情、屬性等,非常便捷。兩年前,京東為了解決它的痛點(diǎn),因?yàn)橹暗谋O(jiān)控系統(tǒng)已不能滿足京東的業(yè)務(wù)需求,便不斷演進(jìn),一路做下來。

它是相對(duì)分散的分布式系統(tǒng),有許多分支、模塊,不同模塊做不同的事情。從用戶(業(yè)務(wù)的開發(fā)人員)的角度,給他們提供Java、C driver,其他小眾語言是給他們提供代理,完全兼容但是不限于RAM servers 。對(duì)于任何一個(gè)業(yè)務(wù)都給它集群,所有集群都在京東的物理資源池上。京東這個(gè)團(tuán)隊(duì)的核心任務(wù)是做一套復(fù)雜的平臺(tái),一套健壯的分布式系統(tǒng),管理目前大概四五千臺(tái)大內(nèi)存機(jī)器,為眾多業(yè)務(wù)提供可靠的、性能穩(wěn)定的、數(shù)據(jù)有持久性保證的高可用服務(wù)。

這個(gè)系統(tǒng)從部署結(jié)構(gòu)來講,是單個(gè)物理服務(wù)器、多實(shí)力的結(jié)構(gòu),任何大內(nèi)存物理servers上都會(huì)部署多個(gè)內(nèi)存,好處是便于流量監(jiān)控等,但是給業(yè)務(wù)和監(jiān)控帶來很多復(fù)雜性。對(duì)行業(yè)來說目前還是比較合理,故障的檢測(cè)與切換,擴(kuò)容的管理、升級(jí)、監(jiān)控等都是獨(dú)立的模塊。存儲(chǔ)的servers是復(fù)用原來redis網(wǎng)絡(luò)編程的框架,但是復(fù)制的協(xié)議、存儲(chǔ)的引擎等各方面都是自己來開發(fā)。

在此列舉幾個(gè)技術(shù)點(diǎn)。第一,怎么做故障切換?分布式系統(tǒng)要解決的第一個(gè)問題是怎么處理故障。故障是個(gè)很嚴(yán)肅的事情,并不能簡(jiǎn)單說有一個(gè)進(jìn)程有一個(gè)servers不通了就是故障,會(huì)發(fā)生網(wǎng)絡(luò)不穩(wěn)定等等,各個(gè)方面都有可能。在一個(gè)或多個(gè)數(shù)據(jù)中心有若干個(gè)故障檢測(cè)器,當(dāng)多數(shù)人認(rèn)為它故障并且沒有人認(rèn)為它健康時(shí),才能定位確實(shí)故障。發(fā)給故障的控制器做下一步事情,重新觸發(fā)新的配置,改變集群的拓?fù)?。所以故障的檢測(cè)和自動(dòng)的Failover是2014年做的第一個(gè)事情,把故障自動(dòng)化,這個(gè)事情說起來簡(jiǎn)單,其實(shí)是最基礎(chǔ)和最重要的,因?yàn)檎麄€(gè)過程分很多步驟,前一段時(shí)間還出現(xiàn)過Bug。

第二個(gè)關(guān)鍵問題是任何一個(gè)邏輯的集群、業(yè)務(wù)數(shù)據(jù)量會(huì)增長(zhǎng)、變化,所以必須支持在線、動(dòng)態(tài)、重新的分片,或者說重新的Sharding,這個(gè)Sharding核心思想不是簡(jiǎn)單把集群分片,中間要加一個(gè)抽象,才能進(jìn)行動(dòng)態(tài)的重新分片。對(duì)于這個(gè)策略來說,中間加一個(gè)bucket的抽象,然后來進(jìn)行管理。遷移的過程是通過復(fù)制來做的,學(xué)術(shù)界或工程界喜歡管它叫“Partial replication”。舉例來說,原來是3個(gè)分片,現(xiàn)在怎么變成4個(gè)分片?通過調(diào)度算法,決策把哪些分片中的bucket遷移到這里,遷移是通過復(fù)制來做的,建一個(gè)復(fù)制關(guān)系,但是這個(gè)復(fù)制關(guān)系并不是復(fù)制它原來所有的數(shù)據(jù),所以要求復(fù)制協(xié)議的實(shí)現(xiàn)是要做特殊的事情,只要這一個(gè)區(qū)間的復(fù)制,復(fù)制全部完成之后更改拓?fù)?,最后生效,這可以做并行的Partial replication做遷移。從數(shù)據(jù)的可靠性保證比較高,技術(shù)也比較簡(jiǎn)單和傳統(tǒng)。

過去兩年從底層技術(shù)研發(fā)分三個(gè)方面一步步演進(jìn)做了些事情,從存儲(chǔ)引擎的角度,用的最多的是這個(gè),第二個(gè)存儲(chǔ)引擎是LSM,京東用RAM+SSD做混合的兩級(jí)存儲(chǔ),這三種不是取代的關(guān)系,而是互為補(bǔ)充。第二種更多應(yīng)用的場(chǎng)景,是有些東西比較大,京東可以把這個(gè)放在SSD上,把K依然放在RAM里,這樣可以適當(dāng)?shù)墓?jié)省成本,目前第二類線上已經(jīng)有百分之十幾的用量,但是數(shù)據(jù)量要乘四五倍,因?yàn)槊颗_(tái)機(jī)器單機(jī)容量更大。第三類是B+TREE,可以排序,可以支持按范圍查找和便利,這個(gè)線上用得不是特別多,京東只支持有需要按范圍、需要便利查詢的場(chǎng)景。

復(fù)制協(xié)議更加關(guān)鍵,因?yàn)閷?duì)于存儲(chǔ)來說最核心的是復(fù)制,除了異步復(fù)制就是同步復(fù)制,京東上半年做了狀態(tài)機(jī)的復(fù)制。分片策略京東用哈希最多,因?yàn)楣W詈?jiǎn)單,業(yè)務(wù)更多時(shí)候需要單K去查詢,有些業(yè)務(wù)需要按范圍,京東支持Range。這三個(gè)方面技術(shù)可以做合理的按業(yè)務(wù)場(chǎng)景組合,滿足不同的業(yè)務(wù)需求,比如業(yè)務(wù)更多是用Dict+異步復(fù)制+哈希分片策略,比較大的是RAM+SSD兩級(jí)存儲(chǔ),然后配合其他的策略。

從業(yè)務(wù)使用場(chǎng)景角度,京東是分而治之,不同的軟件、不同的集群,根據(jù)業(yè)務(wù)的需要,可以分成這么兩大類。不少業(yè)務(wù)是做純緩存,后臺(tái)還有數(shù)據(jù)庫(kù)和其他存儲(chǔ),京東更多是用異步復(fù)制或者不復(fù)制,哈希的分片,可以做LUR的淘汰。但是線上也有將近一半左右的集群,他們不僅僅用這個(gè)東西做緩存,他們做持久存儲(chǔ),京東有更高的可靠性保證,一般用來開啟同步或者狀態(tài)機(jī)的復(fù)制,然后用范圍或哈希分片,而且對(duì)它的快照做定時(shí)備份,備份到內(nèi)部對(duì)象存儲(chǔ)上去。

對(duì)任何一個(gè)系統(tǒng)來說,底層的基礎(chǔ)技術(shù)研發(fā)僅僅是它的一個(gè)環(huán)節(jié),當(dāng)系統(tǒng)達(dá)到一定規(guī)模之后,更多工作會(huì)放在監(jiān)控和運(yùn)維體系的建設(shè)方面。整個(gè)平臺(tái)京東有比較完善的監(jiān)控體系,這更多是數(shù)據(jù)驅(qū)動(dòng)的,從各個(gè)方面,連接樹、網(wǎng)絡(luò)入出流量等等,產(chǎn)生很多時(shí)間序列進(jìn)行分析、預(yù)警,并且驅(qū)動(dòng)各種控制器做決策。比如有的分片存的數(shù)據(jù)因?yàn)槭莻€(gè)華為的手機(jī),它太熱了,京東就可以把它做分列,很多時(shí)候做擴(kuò)容做分列并不是因?yàn)槿萘浚且驗(yàn)閿?shù)據(jù)的熱度。數(shù)據(jù)監(jiān)控也存在這個(gè)系統(tǒng)里做快速的展現(xiàn)。

基于容器的自動(dòng)化運(yùn)維,因?yàn)槲覄偛耪f過,整個(gè)系統(tǒng)規(guī)模比較大,有幾千臺(tái)機(jī)器,而且每臺(tái)機(jī)器上部署很多的存儲(chǔ)節(jié)點(diǎn),所以運(yùn)維的復(fù)雜性比較高。在整個(gè)2013年更多是依靠手工的運(yùn)維,怎么樣選機(jī)器,怎么樣部署,運(yùn)維工作量極大,在2014年下半年和2015年上半年,京東花了很長(zhǎng)時(shí)間做全自動(dòng)化運(yùn)維的平臺(tái),它是基于Docker,簡(jiǎn)單來說是大的Linux大內(nèi)存服務(wù)器上上面有很多Docker,每個(gè)進(jìn)程是Docker實(shí)例,用Docker軟件管理版本,智能做機(jī)器的選擇,做定期的軟件升級(jí),各個(gè)方面很多工作。這個(gè)平臺(tái)通過容器技術(shù)也在這里面有所發(fā)揮。

說一說規(guī)模吧,因?yàn)閷?duì)于任何一個(gè)底層系統(tǒng)建設(shè)來說,它核心的價(jià)值只有一定規(guī)模、真實(shí)驅(qū)動(dòng)業(yè)務(wù)才能有收獲力。線上京東有多個(gè)數(shù)據(jù)中心,有幾千臺(tái)大內(nèi)存機(jī)器,都需要跨數(shù)據(jù)中心的復(fù)制,有的基于容災(zāi)的考慮,比如不同的機(jī)房有不同的規(guī)則,有可能跨機(jī)房做異步復(fù)制,有可能同步,預(yù)計(jì)明年有512G內(nèi)存或者1T內(nèi)存機(jī)器的采購(gòu)。線上支持了1000多個(gè)線上的業(yè)務(wù),每個(gè)應(yīng)用相當(dāng)于一個(gè)邏輯的集群。從運(yùn)維角度來說,這么多臺(tái)機(jī)器里面有大概3萬多Docker的實(shí)例。

內(nèi)存存儲(chǔ)帶來什么?花了很多內(nèi)存片、內(nèi)存條,帶來了極佳的性能、非常穩(wěn)定的性能,這是京東線上某一個(gè)比較重要的集群,在雙十一期間可以看到它整體的QPS超過200多萬,是非常穩(wěn)定的,99%的請(qǐng)求都在2毫秒之內(nèi)返回,這個(gè)讓用戶體驗(yàn)更好,讓京東的業(yè)務(wù)開發(fā)起來更加簡(jiǎn)單,讓公司運(yùn)維團(tuán)隊(duì)更加省心、更加輕松。

內(nèi)存存儲(chǔ)考慮的一個(gè)主要因素是,內(nèi)存可以花錢買,但是不能因?yàn)檐浖蛩卦偃ダ速M(fèi)內(nèi)存,內(nèi)存存儲(chǔ)是分出來的,線上很多集群比較夸張、比較大,可能因?yàn)樗褂脠?chǎng)景比較特殊,才產(chǎn)生了碎片。但是整個(gè)分布來說,京東也做一些優(yōu)化的工作,從內(nèi)存分布器選擇來看,主要的集群內(nèi)存碎片率基本在1.1-1.3左右。我個(gè)人工程上的經(jīng)驗(yàn)來說,這是非常好的內(nèi)存分配器,內(nèi)存分配器自行開發(fā)意義很小。

正在做的事情比較多,優(yōu)先級(jí)比較高的是讓它更穩(wěn)定更好的運(yùn)維,除此之外進(jìn)一步提升性能,通過軟件硬件協(xié)同創(chuàng)新,引入更大、更便宜的內(nèi)存、更快的網(wǎng)卡,考慮重新實(shí)現(xiàn)用戶的網(wǎng)絡(luò)協(xié)議加速小包的處理性能。Linux網(wǎng)絡(luò)協(xié)議站不是為數(shù)據(jù)中心高速的網(wǎng)絡(luò)、高速的在線應(yīng)用而設(shè)計(jì),每一次包都要中斷,對(duì)于大包是合理的,對(duì)于小包是不劃算的,這樣的存儲(chǔ)性能更多的是小包處理,京東在考慮重寫用戶協(xié)議,來加速小包處理的性能。在功能方面京東也在做個(gè)事情,這更多是工作量的事情,考慮從NoSQL支持SQL接口,因?yàn)榈讓佑辛藱M向擴(kuò)張、靈活復(fù)制的內(nèi)存里的數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)。通過JAVA等等提供,這是工作量的問題而已。

另外,希望在某種程度上降低成本,因?yàn)槠脚_(tái)化第一步是求規(guī)模穩(wěn)定,讓它有很好的性能和效率的保證,第二是從整體來說能降低成本,比大家分散、自由去用更省錢?;镜南敕ㄊ沁@樣的,目前是專署集群,京東希望從專署集群過渡到聚合各個(gè)IDC的RAM資源,比如說京東私有云機(jī)器去分容器、去分虛擬機(jī),很多時(shí)候CPU是瓶頸,分完了內(nèi)存有剩余,非結(jié)構(gòu)化機(jī)器磁盤是瓶頸,磁盤或SSD被分完了但內(nèi)存有空余,京東聚合整個(gè)RAM資源,讓數(shù)據(jù)動(dòng)態(tài)流動(dòng)、去降低成本。

云數(shù)據(jù)庫(kù)服務(wù)是一項(xiàng)基礎(chǔ)性的云服務(wù),解決用戶自己搭建數(shù)據(jù)庫(kù)時(shí)需要考慮的各種問題,讓用戶在使用時(shí)可以按需申請(qǐng)數(shù)據(jù)庫(kù)資源,保證整個(gè)數(shù)據(jù)庫(kù)服務(wù)的穩(wěn)定性及數(shù)據(jù)的可靠性,同時(shí)提供彈性伸縮等的支持,盡可能的降低用戶在使用云數(shù)據(jù)庫(kù)時(shí)的成本。

本主題主要是分享京東私有云分布式數(shù)據(jù)庫(kù)集群的實(shí)現(xiàn),包括如何支撐上億級(jí)數(shù)據(jù)量的業(yè)務(wù),如何保證數(shù)據(jù)高可靠、服務(wù)高可用以及在線集群擴(kuò)容等機(jī)制。另外還會(huì)分享京東公有云數(shù)據(jù)庫(kù)的架構(gòu)與設(shè)計(jì),如何實(shí)現(xiàn)一個(gè)穩(wěn)定、可靠、可彈性伸縮的公有云數(shù)據(jù)庫(kù)服務(wù),涉及到備份、恢復(fù)、監(jiān)控、遷移、高可用切換等一整套方案。

京東內(nèi)部有大量業(yè)務(wù)的數(shù)據(jù)是存放在Oracle中的,為了完成京東內(nèi)部去O的過程,京東為此打造了一套私有云分布式數(shù)據(jù)庫(kù)集群,這套私有云分布式數(shù)據(jù)庫(kù)集群目前支撐著京東大量擁有上百億級(jí)數(shù)據(jù)量的業(yè)務(wù),本主題中會(huì)重點(diǎn)介紹去O過程中遇到的難點(diǎn)同時(shí)詳細(xì)介紹在內(nèi)部數(shù)據(jù)庫(kù)云化以及在支撐大規(guī)模業(yè)務(wù)過程中積累的經(jīng)驗(yàn),包括如何打造一套高性能的私有云分布式數(shù)據(jù)庫(kù)集群服務(wù),如何在支撐京東上百億級(jí)別數(shù)據(jù)量業(yè)務(wù)正常服務(wù)的情況下做到在線無縫集群擴(kuò)容,分享來自京東生產(chǎn)一線的經(jīng)驗(yàn)。

云服務(wù)最重要的是要做到可彈性伸縮可按需獲取資源,讓用戶可以盡可能的花最少的代價(jià)滿足業(yè)務(wù)的需求。用戶使用云數(shù)據(jù)庫(kù)時(shí)面臨當(dāng)業(yè)務(wù)量增長(zhǎng)時(shí)申請(qǐng)的資源不夠,需要做到快速的擴(kuò)張現(xiàn)有資源,當(dāng)業(yè)務(wù)量降低時(shí)需要快速縮小現(xiàn)有資源。當(dāng)數(shù)據(jù)庫(kù)實(shí)例甚至整個(gè)機(jī)房發(fā)生故障時(shí),要做到用戶在云數(shù)據(jù)庫(kù)中的數(shù)據(jù)是安全的可靠的,可以第一時(shí)間恢復(fù)云數(shù)據(jù)庫(kù)服務(wù),包括跨機(jī)房恢復(fù)等,保證云上的用戶業(yè)務(wù)是不受影響的,這些都是云服務(wù)尤其是云數(shù)據(jù)庫(kù)服務(wù)需要解決的事情,本主題也會(huì)介紹京東公有云數(shù)據(jù)庫(kù)是怎么解決這些問題的以及在解決這些問題時(shí)積累的經(jīng)驗(yàn)。

京東云數(shù)據(jù)庫(kù)主要包括公有云數(shù)據(jù)庫(kù)服務(wù)和私有云數(shù)據(jù)庫(kù)服務(wù)兩部分。公有云數(shù)據(jù)庫(kù)主要是面向外部用戶,定位是中小型公司;私有云數(shù)據(jù)庫(kù)主要針對(duì)公司內(nèi)部業(yè)務(wù),有時(shí)候甚至?xí)厥鈽I(yè)務(wù)特殊對(duì)待,會(huì)針對(duì)業(yè)務(wù)的特點(diǎn)來具體問題具體分析,數(shù)據(jù)量較大的業(yè)務(wù)京東會(huì)建議業(yè)務(wù)使用京東私有云分布式數(shù)據(jù)庫(kù)集群,將數(shù)據(jù)進(jìn)行拆分等。這兩項(xiàng)服務(wù)在京東都是由同一個(gè)團(tuán)隊(duì)來提供支持,京東云數(shù)據(jù)庫(kù)的總體做法是將私有云數(shù)據(jù)庫(kù)中積累的經(jīng)驗(yàn)逐步的輸出到公有云數(shù)據(jù)庫(kù)上。

云數(shù)據(jù)庫(kù)集群服務(wù)主要是指分布式數(shù)據(jù)庫(kù)集群,用戶在使用這個(gè)集群的時(shí)候可以像使用單臺(tái)數(shù)據(jù)庫(kù)一樣去使用,在業(yè)務(wù)層面不用關(guān)心集群中的數(shù)據(jù)是如何分布的,對(duì)用戶來說后端的數(shù)據(jù)庫(kù)實(shí)例是不可見的或者不需要關(guān)心的,在使用層面來說心智負(fù)擔(dān)會(huì)大大降低。

N個(gè)數(shù)據(jù)庫(kù)同時(shí)提供服務(wù)一般是指N個(gè)數(shù)據(jù)庫(kù)服務(wù)多個(gè)不同的業(yè)務(wù),或者是某個(gè)業(yè)務(wù)同時(shí)使用了N個(gè)數(shù)據(jù)庫(kù),但是業(yè)務(wù)對(duì)這些數(shù)據(jù)庫(kù)是有感知的,換句話說這N個(gè)數(shù)據(jù)庫(kù)對(duì)業(yè)務(wù)都是可見的。

云數(shù)據(jù)庫(kù)服務(wù)其實(shí)也可以理解為將傳統(tǒng)的數(shù)據(jù)庫(kù)服務(wù)搬到云上,但是云數(shù)據(jù)庫(kù)服務(wù)尤其是公有云數(shù)據(jù)庫(kù)和傳統(tǒng)的數(shù)據(jù)庫(kù)確實(shí)是有區(qū)別的,最大的挑戰(zhàn)在于不僅僅要提供數(shù)據(jù)庫(kù)服務(wù),還需要與用戶的私有網(wǎng)絡(luò)及云主機(jī)甚至包括云存儲(chǔ)等各項(xiàng)云服務(wù)相互配合提供高可用的服務(wù)、保證數(shù)據(jù)的高可靠,是一整套云服務(wù)中的一項(xiàng)。傳統(tǒng)的數(shù)據(jù)庫(kù)技術(shù)更多關(guān)注的是數(shù)據(jù)庫(kù)本身的,網(wǎng)絡(luò)及主機(jī)等問題一般會(huì)比較簡(jiǎn)單。

京東公有云數(shù)據(jù)庫(kù)的架構(gòu)都是基于私有云數(shù)據(jù)庫(kù)的實(shí)踐經(jīng)驗(yàn)所得,在實(shí)際輸出的時(shí)候考慮到安全及彈性伸縮等的考慮,公有云上采用基于虛機(jī)部署的方式,結(jié)合云主機(jī)云存儲(chǔ)以及云數(shù)據(jù)庫(kù)系統(tǒng)自身相配套的信息采集系統(tǒng)再整合公司的監(jiān)控系統(tǒng)等各項(xiàng)服務(wù),對(duì)外提供可伸縮高可用及高可靠的公有云數(shù)據(jù)庫(kù)服務(wù)。

私有云中的分布式數(shù)據(jù)庫(kù)集群架構(gòu)主要是采用引入中間件的方式來支撐業(yè)務(wù),中間件本身完全兼容mysql協(xié)議,在內(nèi)部業(yè)務(wù)使用的時(shí)候可以像使用原生數(shù)據(jù)庫(kù)一樣簡(jiǎn)單。

公司內(nèi)部有一套完整的統(tǒng)一的監(jiān)控系統(tǒng),云數(shù)據(jù)庫(kù)自身還有一套信息采集系統(tǒng),采集系統(tǒng)會(huì)采集數(shù)據(jù)庫(kù)實(shí)例上的相關(guān)信息包括慢查詢以及機(jī)器負(fù)載等信息,這些采集的信息經(jīng)分析處理以后如果如果發(fā)現(xiàn)有異常比如有慢查詢或者機(jī)器負(fù)載較高,會(huì)通過統(tǒng)一的監(jiān)控系統(tǒng)觸發(fā)報(bào)警,做到及時(shí)發(fā)現(xiàn)問題及時(shí)處理問題。

在私有云分布式數(shù)據(jù)庫(kù)集群中的性能監(jiān)控主要是兩部分構(gòu)成,一部分是分布式數(shù)據(jù)庫(kù)中間件會(huì)對(duì)查詢做一些統(tǒng)計(jì)信息,這些統(tǒng)計(jì)信息中有超過某些閾值的情況就會(huì)觸發(fā)報(bào)警,另外一部分是數(shù)據(jù)庫(kù)本身的完善的監(jiān)控系統(tǒng)。

京東公有云數(shù)據(jù)庫(kù)目前是部署在虛擬機(jī)里的,基于虛擬機(jī)的快速創(chuàng)建京東可以做到公有云數(shù)據(jù)庫(kù)實(shí)例的較快的創(chuàng)建。私有云數(shù)據(jù)庫(kù)目前有很大一部分已經(jīng)將數(shù)據(jù)庫(kù)實(shí)例放到容器里,在創(chuàng)建部署方面將更加的便捷,當(dāng)內(nèi)部驗(yàn)證以后后續(xù)京東也會(huì)考慮輸出到公有云上。

京東的業(yè)務(wù)發(fā)展非常的迅猛,所以在很大程度上來說京東的技術(shù)都在被業(yè)務(wù)驅(qū)動(dòng)著往前跑,很多業(yè)務(wù)早期數(shù)據(jù)可能是放在Oracle或者Sqlserver中的,等到業(yè)務(wù)量比較龐大的時(shí)候再著手將數(shù)據(jù)從原來的數(shù)據(jù)庫(kù)遷移到mysql里的時(shí)候就會(huì)比較痛苦,一般都需要業(yè)務(wù)方和數(shù)據(jù)庫(kù)團(tuán)隊(duì)緊密配合才能真正的完整的遷移出來,但是也正是因?yàn)橛羞@些實(shí)際的業(yè)務(wù)需求驅(qū)使著京東的技術(shù)不斷的提升。

標(biāo)簽:自貢 呼和浩特 撫州 臺(tái)州 瀘州 長(zhǎng)治 贛州 南京

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《深入分析京東云數(shù)據(jù)庫(kù)的運(yùn)營(yíng)模式》,本文關(guān)鍵詞  深入分析,京東,云,數(shù)據(jù)庫(kù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《深入分析京東云數(shù)據(jù)庫(kù)的運(yùn)營(yíng)模式》相關(guān)的同類信息!
  • 本頁收集關(guān)于深入分析京東云數(shù)據(jù)庫(kù)的運(yùn)營(yíng)模式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章