精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

京東私有云三大技術方向解析

責任編輯:editor006

作者:郭雪梅

2015-04-03 16:17:32

摘自:CSDN

去年11 11時,曾有數家媒體對京東的云基礎架構服務進行過采訪。通過細粒度部署,大幅降低了維護成本,目前已經擴展到3000+臺機器,并廣泛支持了商品詳情頁、搜索、推薦和廣告等應用。

去年11.11時,曾有數家媒體對京東的云基礎架構服務進行過采訪。當時京東云平臺首席架構師、系統技術部負責人劉海鋒就京東文件系統、分布式緩存與高速KV服務、新消息隊列、新服務框架等進行了闡述。幾個月后,3月30日,在華為ICT北京站巡展時,CSDN云計算有機會與劉海鋒深入溝通,看看這個70多人的團隊如何實現從開源到自研的技術跨越,如何利用OpenStack+Docker技術實現容器管理,又將如何在今年底實現對京東所有機器實現自動化運維的目標。

  京東云平臺首席架構師、系統技術部負責人 劉海鋒

要強調的是,劉海鋒和他的團隊所負責的是京東私有云項目(京東基礎云服務)。不是對外提供云服務的京東公有云。而這種共存的狀態,在亞馬遜、阿里、騰訊以及其他多家互聯網企業中都存在。

京東的發展速度有目共睹。反應到業務與產品上,就是國際化、拍拍、廣告、商城、金融、智能硬件、新業務的齊頭并進。而底層,自然需要穩固的,能夠實現“IT資源云化”的基礎平臺。劉海鋒和他的團隊從2013年開始,就聚焦在存儲服務、中間件、彈性計算三大方面,通過API為京東業務提供服務支持。

存儲:JFS,JIMDB和統一存儲

千萬/天的商品圖片,千萬/天的交易訂單,千萬/天的電子簽收,億/天的庫房記錄.......越來越多的非結構化數據給京東的存儲帶來了巨大挑戰。使用過商用產品,使用過開源產品,但無一能跟上京東業務的發展速度。為此,2013年8月,劉海鋒的團隊開始自主研發大規模分布式存儲系統——京東文件系統(JFS)。

  京東大規模分布式文件系統(JFS)

JFS技術點:

Paxos replication

Unified Storage of BLOBs/files/blocks

Append-only storage engine

Reed-Solomon coding

Scalable metadata management

Hadoop Integration

如今JFS已經是3.0版本。圖片服務,訂單履約、物流數據交換、電子簽收、內部云存儲服務和虛擬機與容器卷存儲都已在JFS上。劉海鋒說:“京東的每一張圖片都存在JFS平臺上。自研的系統通過主動復制策略,保證絕對的強一致性,而復制算法,能夠保證在機器故障、磁盤故障、甚至文件誤刪除等問題存在時,數據都不會丟失。”

與數據暴增相對應的是緩存必然越來越多。正如數據庫天才Jim Gray曾說:“Memory is new disk.”而Redis和Memcache面對大內存業務的挑戰也已不夠。在Redis基礎上做出技術“質變”,京東自研了分布式緩存與高速NoSQL——JIMDB。

JIMDB技術點:

精確故障檢測與自動切換;

RAM/SSD混合存儲;

在線橫向擴容;

異步、同步、局部復制;

全自動化接入與管理。

通過細粒度部署,大幅降低了維護成本,目前已經擴展到3000+臺機器,并廣泛支持了商品詳情頁、搜索、推薦和廣告等應用。

如果說JFS和JIMDB是已經完成的技術,代表了分布式存儲和緩存與高速NoSQL。那么京東下一步自然是統一存儲服務:支持文件/對象/大表的多數據模型和多IDC復制存儲、單IDC緩存加速。而且根據業務需求,將引入SQL與事務支持。

中間件:消息隊列與服務框架

支撐的業務模型越復雜,彼此的消息傳遞就越重要。而由于京東在倉儲物流持續發力,全國各地有數百個庫房。這些庫房里面會部署10-20臺服務器。由此,消息隊列(MQ)在京東的訂單管道、核心機房、倉儲庫房中就更加重要。劉海鋒將之形容為:“MQ for the datacenter is like the pipes for Unix/Linux.”

京東的MQ有三個階段:JQ ->AMQ ->JMQ。前兩者都是開源軟件。面對“日均消息數過百億”的挑戰,AMQ已完全無法應對。比如有的大隊列可能是1個發送者,有100個消費者,很多開源系統可能會存100份,但這幾乎沒有必要。通過完全的自主研發JMQ,只要存一份,消費者可以通過偏移量或指針去訪問。JMQ更好地實現了:機房斷電不丟消息;組提交技術;透明壓縮;靈活復制。劉海鋒如此評價:“JMQ在去年雙十一中表現完美。”

除此以外,越來越多的在線服務,需要統一編程、統一協議、統一接入、統一監控和統一治理。但面對數萬服務接口和數萬臺服務器(很多服務器還分布在不同區域),如何使各模塊可降級、可監控、可分解等,能夠真正在內部API化、對外接口開放,需要更適宜的服務框架——JSF。

彈性計算:軟件定義數據中心與容器集群調度

如果打開京東應用圖譜,搜索、圖片、廣告、訂單、Hadoop、Spark、MPI等都占據了不同的機器資源。實際上,不止是京東,幾乎所有互聯網或分支較多的傳統企業都面臨資源被劃分的“七零八落”的現狀。每一種應用都會占用不同機器資源。但隨著機器的增加,要實現資源云化以及自動化運維,這一挑戰,必須面對。

  京東彈性計算云規劃

劉海峰稱之為:“彈性計算云。”一方面,將業務與機器解耦,全自動化維護;另一方面,高資源利用率+高服務質量+高效生產。在IDC資源上,通過OpenStack、Docker和JFS實現基礎服務,以及部署集成、彈性伸縮的平臺服務,最終實現應用系統。

舉個例子,商品詳情頁能夠實現按照流量訪問自動調度資源,比如利用OpenStack+Docker實現緩存容器化,在流量控制、快速部署、版本管理方面做的更好。

對Docker的嘗試從什么時候開始?有哪些收獲?

劉海鋒:我們對Docker的應用從2014年8月份開始的。最終目標是希望能夠為研發人員、數據中心技術工程師和業務系統之間搭建一個橋梁,使工作更簡潔、高效,數據中心服務器利用率大幅提高。所以京東底層基礎架構分兩層:軟件定義數據中心(基礎服務),將機器做成虛擬化的,容器化的,虛擬網絡IP,共享存儲等;平臺服務,順暢將京東應用和平臺融合。這是一個復雜的系統工程,而Docker在平臺服務層面,能夠發揮很好的作用。我們將其作為京東私有云的輕量級應用,主要是用的引擎、實例,并和Openstack“嫁接”,用OpenStack去管理Docker,如給它分配一個獨立的IP等。針對Docker我們還稍微做了些改造,比如網絡方面,以及存儲方面。這樣,每個容器或者每個虛擬機和原來物理機區別不大,很容易接受。比如用在郵件申請服務,一些特殊場景下的虛擬機提供(京東內部對安全性已有保證)。而在其上層,則是完全自研的系統進行調度、控制、監控、管理和部署。效果很好。舉個例子,之前部署是部署界面選擇、打包、機器分配、部署、檢查、成功。但現在一個程序要上線,直接點部署,成功后直接通知你。中間環節,包含審批、申請等全部取消。再如,雙十一加機器之后,很少假期后有人會選擇減機器。這樣無形中有很大浪費。而現在,直接部署,平臺實現統一控制,隨流量自動擴容,自動縮減。如此下來,資源利用率大幅提升,成本卻會明顯降低。

除了管理Docker外,OpenStack還有哪些應用?

劉海鋒:京東彈性云的基礎服務就是Docker+OpenStack+JFS。OpenStack變化很快,很難有那么多精力來追隨。所以我們找到穩定版本,經過調整后進行了很多開發,比如Jing dong Data Center OS就是其中的一個分支。另外是管理Docker和應對故障。如當物理機故障、容器故障出現后,如何通過OpenStack快速檢測、快速報警、快速響應。而這些開發,我們計劃在年底或者明年初反饋給社區。

開源軟件基礎上進行研發,大部分都會走向完全自研?

劉海鋒:有可能。無論是OpenStack還是Docker,作為通用型平臺,都是越來越龐大和臃腫。很多功能都是我們不需要的。所以依照發展的需求,我們現在有工程師在自己寫。

舊有資源云化會面臨很多挑戰。哪些是你們遇到的?

劉海鋒:業務需要應用支持。很多老應用最初使用的都是物理機,而且非常空閑,有可能一個小程序占了128MB的一臺服務器。所以這些應用需要從物理機遷移到云上。但如何遷移,比較困難。這不是技術問題。所以京東是有專門的項目經理在推動的。而我們來提供簡單、易于使用的遷移工具。現在,京東幾乎所有應用都在分批遷移,涉及各個部門,各個業務線。

曾提到Hadoop應用。JFS和Hadoop有集成么?

劉海鋒:是,我們團隊不用Hadoop。但JFS會實現對Hadoop的集成。這樣在線和離線數據統一存儲就很容易實現,作為整套方案也更能擴展元數據,降低成本。

京東彈性計算云項目的主要挑戰與最終愿景是?

劉海鋒:求規模和零事故的矛盾。如何在保持穩定的情況下擴大規模,因為只有規模大了,收益才大。我們每天都很謹慎小心來做,希望盡快實現萬臺規模的控制。 現在我們內部的彈性云項目僅僅進行到1/5左右。后面會更快速地展開。最終彈性云將管理所有機器資源,生產虛擬機或容器或物理機,托管調度各類業務包括應用與存儲、在線與離線,成為業務的基石,讓研發生活更美好。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 黄梅县| 桦川县| 会东县| 新安县| 屏边| 东兰县| 绥滨县| 芦溪县| 确山县| 靖远县| 株洲市| 乡城县| 新乡县| 涟源市| 海兴县| 西昌市| 泰来县| 静宁县| 鄢陵县| 汾西县| 新兴县| 剑川县| 邮箱| 襄汾县| 库伦旗| 肇源县| 灯塔市| 瑞金市| 栖霞市| 抚顺县| 晋城| 吴桥县| 广元市| 临邑县| 勃利县| 林芝县| 彭山县| 福海县| 怀仁县| 镶黄旗| 寿阳县|