京東11.11:電商狂歡背后的云基礎(chǔ)設(shè)施服務(wù)

每年的11.11促銷富纸,都是對(duì)幾大電商的軟硬件平臺(tái)服務(wù)能力的一次大考。在系統(tǒng)升級(jí)改造的過程中旨椒,京東商城引入了自己的云平臺(tái)晓褪,將交易、訂單综慎、倉儲(chǔ)涣仿、搜索等核心系統(tǒng)需要的一些基礎(chǔ)設(shè)施抽象了出來,以服務(wù)的形式提供示惊。面對(duì)峰值負(fù)載好港,很多壓力都會(huì)傳導(dǎo)到底層的云設(shè)施。京東的云平臺(tái)是如何準(zhǔn)備來應(yīng)對(duì)云存儲(chǔ)的呢米罚?為此InfoQ采訪了京東商城技術(shù)研發(fā)體系云平臺(tái)首席架構(gòu)師劉海峰钧汹。他負(fù)責(zé)的是包括存儲(chǔ)、緩存和消息隊(duì)列在內(nèi)的基礎(chǔ)系統(tǒng)录择,還有服務(wù)框架拔莱。

穩(wěn)定的云平臺(tái)

劉海峰首先介紹了發(fā)展歷史,過去兩年隘竭,京東以自主研發(fā)為主塘秦,開發(fā)了適合自己業(yè)務(wù)模式的存儲(chǔ)系統(tǒng)——京東文件系統(tǒng)(JFS ethos),并基于JFS向外提供私有云存儲(chǔ)服務(wù)动看。最大的一個(gè)客戶就是圖片存儲(chǔ)尊剔,京東的每一張圖片都存在JFS平臺(tái)上,另外還有訂單菱皆、庫房的報(bào)文等须误。自主研發(fā)使得系統(tǒng)更加可控,其可靠性仇轻、穩(wěn)定性霹期,都能很好地把握。JFS采用了主動(dòng)復(fù)制策略拯田,保證絕對(duì)的強(qiáng)一致性,通過自己設(shè)計(jì)的復(fù)制算法甩十,能夠保證在機(jī)器故障船庇、磁盤故障、甚至文件刪除等問題存在時(shí)侣监,數(shù)據(jù)都不會(huì)丟失鸭轮。

緩存云也是云平臺(tái)的核心產(chǎn)品之一¢厦梗可以分為兩個(gè)方面窃爷,一是純緩存,為各個(gè)業(yè)務(wù)提供統(tǒng)一的緩存服務(wù)。如果電商的各個(gè)業(yè)務(wù)都自己設(shè)計(jì)和維護(hù)一套緩存按厘,成本會(huì)非常高医吊。而將全集團(tuán)的緩存統(tǒng)一管理,通過細(xì)粒度的混合部署逮京,完全彈性的卿堂、多租戶的管理懒棉,實(shí)現(xiàn)彈性伸縮草描,極大地提高機(jī)器的使用效率,節(jié)省成本策严。

另一個(gè)是Jimdb——基于內(nèi)存與SSD的分布式緩存與高速KV存儲(chǔ)服務(wù)穗慕,這在搜索系統(tǒng)、推薦系統(tǒng)等中都有應(yīng)用妻导。

可靠的消息隊(duì)列

消息隊(duì)列(MQ)逛绵,或者叫消息平臺(tái),隨著互聯(lián)網(wǎng)業(yè)務(wù)的發(fā)展栗竖,微服務(wù)這種形式越來越流行暑脆,也就是一個(gè)模塊做一件事情,模塊之間盡量松耦合狐肢,模塊之間用消息隊(duì)列串聯(lián)起來添吗。可以認(rèn)為消息隊(duì)列是數(shù)據(jù)中心里面份名,各業(yè)務(wù)系統(tǒng)之間的管道碟联。在京東,消息隊(duì)列的開發(fā)經(jīng)歷了三個(gè)階段僵腺。前兩代是基于開源軟件實(shí)現(xiàn)的鲤孵,現(xiàn)在的產(chǎn)品是完全自主研發(fā)的JMQ,在11.11之前已全面上線辰如。商品相關(guān)的隊(duì)列和訂單相關(guān)的隊(duì)列都依賴此服務(wù)普监,MQ如果出現(xiàn)問題,會(huì)導(dǎo)致訂單等購物行為出現(xiàn)故障琉兜。不過11.11目前運(yùn)行比較平穩(wěn)凯正,能夠做到消息絕對(duì)不丟失。

MQ有一個(gè)很大的技術(shù)挑戰(zhàn)豌蟋,要能夠快速地收廊散,可靠地存。如果下游的消息消費(fèi)者處理比較慢梧疲,系統(tǒng)就需要能夠緩存大量消息允睹。因?yàn)樽约洪_發(fā)运准,這里可以做很多優(yōu)化。舉例而言缭受,有的大隊(duì)列可能是1個(gè)發(fā)送者胁澳,有100個(gè)消費(fèi)者,很多開源系統(tǒng)可能會(huì)存100份贯涎。但這里通過優(yōu)化听哭,可以只存一份,消費(fèi)者可以通過偏移量或指針去訪問塘雳。從今天的效果來看陆盘,在這個(gè)方向上的技術(shù)投入非常值得。

微服務(wù)之得失

在服務(wù)框架方面败明,進(jìn)行了微服務(wù)化改造隘马。一個(gè)模塊就做一件事,各個(gè)模塊可降級(jí)妻顶、可監(jiān)控酸员、可分解。除了通過消息隊(duì)列串聯(lián)不同模塊讳嘱,還有些地方需要同步調(diào)用幔嗦,京東大概有上萬個(gè)服務(wù)接口,也接入了非常多的服務(wù)器沥潭,整個(gè)服務(wù)的注冊(cè)邀泉、發(fā)現(xiàn)、互相之間的服務(wù)調(diào)用钝鸽,再就是請(qǐng)求的序列化汇恤、反序列化,都是通過自主研發(fā)的服務(wù)框架實(shí)現(xiàn)的拔恰。

提到微服務(wù)因谎,劉海峰也深入介紹了一些自己在這方面的感悟。他認(rèn)為颜懊,微服務(wù)對(duì)互聯(lián)網(wǎng)而言是很好的技術(shù)方向财岔,對(duì)電商也是如此。將系統(tǒng)分為不同的服務(wù)模塊河爹,系統(tǒng)的韌性會(huì)更好使鹅,當(dāng)然有得必有失。這種架構(gòu)對(duì)基礎(chǔ)設(shè)施的要求會(huì)更高昌抠,對(duì)軟件底層平臺(tái)的要求也更高。因?yàn)槟K之間的通信有不同方式鲁僚,比如通過直接調(diào)用炊苫、消息隊(duì)列或存儲(chǔ)系統(tǒng)裁厅,那如何跟蹤系統(tǒng)的服務(wù)鏈條,也是一個(gè)問題侨艾。測試整個(gè)系統(tǒng)的峰值性能执虹,抗壓能力,也是個(gè)很大的挑戰(zhàn)唠梨。

充分的11.11備戰(zhàn)

談到11.11的備戰(zhàn)袋励,劉海峰介紹說,首先一點(diǎn)就是需要把更多的工作放在平時(shí)当叭,實(shí)際上技術(shù)是瓶頸茬故,不是靠堆機(jī)器就能解決的,所以要靠平時(shí)的積累蚁鳖,設(shè)計(jì)好磺芭、做出好的系統(tǒng)。另外醉箕,在出現(xiàn)問題時(shí)钾腺,團(tuán)隊(duì)更加重要,要確保及時(shí)響應(yīng)讥裤;而這時(shí)候也越來越體會(huì)到自主研發(fā)的好處放棒,有任何問題,都可以快速地定位并修復(fù)己英,甚至是直接線上修復(fù)间螟。只有從零寫起才有這種感覺。

我們也談到了京東云的路線圖問題剧辐。劉海峰提到寒亥,目前還是小步快跑的模式,先抓住一些重點(diǎn)業(yè)務(wù)荧关,應(yīng)用起云服務(wù)溉奕,形成示范效應(yīng),再快速地規(guī)娜唐。化加勤。京東也正在開發(fā)一個(gè)數(shù)據(jù)中心操作系統(tǒng)項(xiàng)目——JDOS,基本的事情是統(tǒng)一管理包含物理機(jī)同波、虛擬機(jī)和輕量級(jí)容器鳄梅,配合自主研發(fā)的存儲(chǔ)以及非常靈活的SDN互聯(lián)。

InfoQ后續(xù)還將發(fā)布對(duì)京東的運(yùn)維未檩、訂單戴尸、倉儲(chǔ)、搜索等業(yè)務(wù)負(fù)責(zé)人的訪談冤狡,敬請(qǐng)期待孙蒙。

如果讀者對(duì)京東云之前的演進(jìn)情況感興趣项棠,可以查看劉海峰在QCon北京2013上的演講:《京東文件系統(tǒng)與統(tǒng)一數(shù)據(jù)中心存儲(chǔ)》。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末挎峦,一起剝皮案震驚了整個(gè)濱河市香追,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌坦胶,老刑警劉巖透典,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異顿苇,居然都是意外死亡峭咒,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門岖圈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來讹语,“玉大人,你說我怎么就攤上這事蜂科⊥缇觯” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵导匣,是天一觀的道長才菠。 經(jīng)常有香客問我,道長贡定,這世上最難降的妖魔是什么赋访? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮缓待,結(jié)果婚禮上蚓耽,老公的妹妹穿的比我還像新娘。我一直安慰自己旋炒,他們只是感情好步悠,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瘫镇,像睡著了一般鼎兽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上铣除,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天谚咬,我揣著相機(jī)與錄音,去河邊找鬼尚粘。 笑死择卦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播秉继,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼潘明,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了秕噪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤厚宰,失蹤者是張志新(化名)和其女友劉穎腌巾,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铲觉,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡澈蝙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了撵幽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片灯荧。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖盐杂,靈堂內(nèi)的尸體忽然破棺而出逗载,到底是詐尸還是另有隱情,我是刑警寧澤链烈,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布厉斟,位于F島的核電站,受9級(jí)特大地震影響强衡,放射性物質(zhì)發(fā)生泄漏擦秽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一漩勤、第九天 我趴在偏房一處隱蔽的房頂上張望感挥。 院中可真熱鬧,春花似錦越败、人聲如沸触幼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽域蜗。三九已至,卻和暖如春噪猾,著一層夾襖步出監(jiān)牢的瞬間霉祸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工袱蜡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留丝蹭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓坪蚁,卻偏偏與公主長得像奔穿,于是被迫代替她去往敵國和親镜沽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理贱田,服務(wù)發(fā)現(xiàn)缅茉,斷路器,智...
    卡卡羅2017閱讀 134,626評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,730評(píng)論 25 707
  • 文/安小安 我想我是幸運(yùn)的 在與你對(duì)視的那一刻 你似從塵封千年...
    安小安zzz閱讀 535評(píng)論 2 3
  • 許久未見 你依然年輕 依然漂亮 依然純凈得像一團(tuán)藍(lán)色的火焰 在遠(yuǎn)方男摧,燃燒起生活 燃燒起記憶 透明而脆弱的隱秘 你依...
    愛亦如詩閱讀 221評(píng)論 0 2