獨家揭秘 | 京東物流Elasticsearch大規模“遷移上雲”實踐
雲妹導讀:
據美國調研機構Gartner公司調研指出,2020年,企業“無雲”就像“無網路”一樣窘迫。如果企 業對於資訊化和數字化視而不見,勢必將被這個時代所淘汰。近日,國常會議指出,要對“網際網路+”、平臺經濟等加大支援力度,發展數字經濟新業態,依託工業網際網路促進傳統產業加快上線上雲。在頂層架構的帶動下,“企業上雲”概念,再次站上風口。
京東物流在上雲過程中算走在京東集團的最前列,截止目前已經有超過90%的應用在公有云上部署了例項,包括去年的雙11.11大量業務都是執行在公有云上,在業務流量超過了三倍以上的情況下,整體運營也都非常平穩。
1 京東物流為什麼要“上雲”
京東物流之所以需要遷移上雲,除了整個京東集團上雲戰略上的考慮,從物流集團內部自驅來看有三點考慮,即 輕資產化、 降低成本、 架構升級。
物流是非常重資產的行業,要有庫房、大量的員工還有物流系統也是非常龐大的,而這麼大體量的系統卻常年跑在很多物理機上面,隨著時間的推移,這些物理機可能過保或者損壞,帶來了大量的維護成本,而隨著業務的發展,還要採購更多的物理機,這就導致資產會越來越重。而從整個網際網路趨勢來看,大家都是希望自己的架構越來越輕,資產越來越輕。
第二就是降低成本,大家都知道雲端計算的特點就是虛擬化和共享化。如果資源在不使用的時候可以回收掉,使用的時候可以採用按需申請,包括計費的模式,就可以按小時按天進行計費。這樣對集團內部資產進行規劃,對於集團制定伺服器的預算都有很好的幫助。
第三,如果只是簡單的把系統搬到雲上去的話是沒有任何意義的,僅僅把系統伺服器部署從私有云搬到公有云上意義也不大,真正有意義的是,在這個遷移的過程中,可以對自身的系統架構進行梳理,同時也可以對陳舊的、過時的和現在業務發展不太匹配的系統架構進行一定的升級,包括雲原生的架構,這是一個非常好的機會。
而這三點就是京東物流啟動上雲的驅動力。
2 京東物流遷移上雲方案
依託京東智聯云云搜尋Elasticsearch高可用、易擴充套件、近實時等特性,產品在降低使用門檻,減少資源投入成本的前提下,成功助力京東物流分揀中心自動化系統、冷鏈流程監控系統、開放訂單跟蹤系統等上百個系統遷移上雲。
遷移方案的選擇
根據業務需求,方案包括停機遷移和不停機遷移2種:
1、停機遷移
遷移過程中,舊叢集可以暫時停止服務或者暫停寫入,待資料全部遷移到新叢集后,再將業務切換到新叢集進行讀寫。
停機遷移可以透過elasticsearch-dump、snapshot、reindex、logstash等方式完成資料遷移。
2、不停機遷移
遷移過程中,舊叢集不能停止寫入,業務不能停服,這也是京東物流上雲主要採用的方案。
如果舊叢集不能停止寫入,此時進行線上資料遷移,需要保證新舊叢集的資料一致性。目前看來,除了官方商業版提供的CCR功能,開源版本並沒有開源的嚴格保證資料一致性的線上資料遷移工具。因此京東智聯雲Elasticsearch團隊基於京東物流需求提供了業務不停機場景下的遷移工具。
工作原理
在雲端建立新叢集,將雲上叢集和使用者叢集合併成一個大叢集,利用Elasticsearch資料分佈API(cluster.routing.allocation.exclude)將使用者叢集中的索引資料遷移到雲上叢集的資料節點,最後將使用者叢集和雲上叢集構成的大叢集拆分,關閉使用者叢集即可完成遷移。
但採用這種方式必須要同時滿足如下兩個條件:
- 使用者叢集版本和雲上叢集版本相同
- 使用者叢集所有節點和雲上叢集所有節點網路能夠互通
操作步驟
整個遷移過程包括新建映象叢集、映象叢集加入源叢集、移動資料到映象叢集、切換客戶端流量、切分叢集5個方面。
#1 建立雲上叢集。在京東智聯云云搜尋Elasticsearch控制檯( )建立與使用者源叢集版本一致、網路互通的雲上叢集,作為映象叢集。
#2 合併叢集。設定使用者源端叢集地址和雲上叢集例項ID,建立遷移任務後,將映象叢集加入源叢集。
#3 遷移資料。叢集合併成功後,可以先嚐試遷移一個索引,遷移後切換該索引的應用端流量,觀察應用端讀寫資料正常後,遷移全部索引。
#4 切換流量。索引遷移成功後,應用側需要將配置的叢集地址修改為雲上叢集的地址,切換應用的叢集地址後,建議執行一段時間,觀察應用是否讀寫正常。
#5 切分叢集。叢集切分後無法恢復,建議執行一段時間,確認叢集執行正常後,再切分叢集,同時關閉源叢集,才會最終切分完成。
透過上述方法,僅6個月時間京東物流就完成了近百個系統的數百個叢集、數千個節點資料遷移工作。還配套提供了一鍵報警等核心功能,進行全天候、全方位掌握叢集健康等情況。
3 為什麼使用ES?
京東物流作為全球唯一擁有中小件、大件、冷鏈、B2B、跨境和眾包(達達)六大物流網路的企業,產生的資料規模極大,需要的元件必然是多元化的,Elasticsearch作為排名最高的搜尋引擎, 完美相容Logstash、Kibana周邊生態,在搜尋查詢領域,幾乎完勝所有競爭產品,解決一切搜尋查詢問題。因此,這也是Elasticsearch成為京東物流大件二手倉系統、訂單跟蹤系統等上百個系統搜尋查詢場景下的不二選擇的重要原因。
但在物流上雲之前,使用的Elasticsearch系統均是採用自行搭建方式完成的,使用傳統自建伺服器的方式其實存在很多的問題:
- 開源叢集、索引管理工具問題——一是缺少對公司業務的感知和資料治理能;二是缺乏與公司基礎設施的聯動
- 叢集、索引的運維問題——在操作的安全性和標準化的運維手段、流程健全性等方面都有待最佳化
- 線上問題排查——較多依賴手動操作和人工經驗判斷,解決問題的最佳實踐沒有固化
- 資金成本問題——硬體採購需要大量資金,機房託管、部署機器等工作,需要較長的時間週期和人力成本
雲端計算高可用、全託管、易擴充套件等特性可以很好的解決使用者服務的痛點。雲搜尋Elasticsearch圍繞企業需要和運維中面臨的問題,提供了完善的解決能力:
- 全託管——使用者分鐘級即可成功建立出可用Elasticsearch叢集,無需部署維護軟硬體設施,整合完整的叢集管理、監控與告警系統,專業團隊7*24小時不間斷守護,使用者只需專注於業務開發。
- 高可用——能夠方便地為資料建立索引,擁有節點自動發現和替換失效節點能力,零配置實現分佈。當有新節點加入叢集時,自動發現並重新進行負載均衡,為新節點分配資料;當某節點失效時,它同樣會自動重新為可用節點分配資料。
- 易擴充套件——雲搜尋Elasticsearch服務提供實時擴容功能,實現叢集的輕鬆擴充套件。使用者可根據資料量和查詢量選擇合適的機型,自定義節點的儲存空間,靈活實現按需配置,動態擴容叢集以滿足業務增長需求。
- 近實時——自動將海量資料分散到多臺伺服器上去儲存和檢索,在秒級別對資料進行搜尋和分析,達到海量資料近實時處理。
- 開放相容——100%相容開源Elasticsearch,開放大量簡單易用的RestfulAPI,整合了視覺化分析工具Kibana和叢集管理工具Head。
- 安全可控——雲搜尋Elasticsearch部署在邏輯隔離的專有網路內,杜絕了外網直連風險。同時只開放雲搜尋Elasticsearch服務所需特定埠,加固了資料訪問安全。
以上,Enjoy~
點選 【 閱讀 】,可瞭解更多Elasticsearch詳請!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69912185/viewspace-2695814/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 京東物流實時風控實踐
- 京東物流常態化壓測實踐
- MSSQL·最佳實踐·RDSSDK實現資料庫遷移上阿里雲RDSSQLServerSQL資料庫阿里Server
- 京東雲Kubernetes叢集最佳實踐
- 達達埋點遷移京東子午線實踐
- 乾貨 | 京東雲部署Wordpress最佳實踐
- 京東零售大資料雲原生平臺化實踐大資料
- 京東雲開發者|提高IT運維效率,深度解讀京東雲AIOps落地實踐運維AI
- PB 級大規模 Elasticsearch 叢集運維與調優實踐Elasticsearch運維
- 線上資料遷移,數字化時代的必修課 —— 京東雲資料遷移實踐
- 京東雲的雲原生理念及 Serverless 最佳實踐Server
- 京東短網址高可用提升最佳實踐 | 京東雲技術團隊
- 京東雲開發者|京東雲RDS資料遷移常見場景攻略
- 京東物流財報:2022年京東物流營收1374億 同比增長31.2%營收
- 乾貨 | 京東雲賬號安全管理最佳實踐
- 京東雲TiDB SQL最佳化的最佳實踐TiDBSQL
- 一次基於AST的大規模程式碼遷移實踐AST
- 位元組跳動 Flink 大規模雲原生化實踐
- PPT講義:京東物流的區塊鏈創新實踐之路(附下載)區塊鏈
- 阿里雲如何打破Oracle 遷移上雲的壁壘阿里Oracle
- Apache RocketMQ 在阿里雲大規模商業化實踐之路ApacheMQ阿里
- 深扒京東物流的家底兒
- 大檔案上傳原理及實現方案 | 京東物流技術團隊
- 京東物流IPO:打響物流下半場戰爭
- SAP系統為什麼要遷移上雲?
- 乾貨 | 京東雲域名註冊及備案最佳實踐
- 獨家揭祕!阿里大規模資料中心的效能分析阿里
- 重磅!京東物流宣佈獨立:承諾五年內收入過千億CU
- 京東APP百億級商品與車關係資料檢索實踐 | 京東雲技術團隊APP
- 浪潮雲海OS遷移上雲工具,讓上雲更簡單
- Serverless 如何落地?揭秘阿里核心業務大規模落地實現Server阿里
- Node 在滬江的大規模實踐
- 輕鬆上雲系列之一:本地資料遷移上雲
- 京東物流財報:2022年Q1京東物流營收274億 淨虧損13.86億元營收
- 京東物流獨立背後真相:要感謝好基友沃爾瑪AM
- 快遞行業大變局:4家知名快遞公司接連倒下,京東物流有多牛?行業
- 京東雲開發者|ElasticSearch降本增效常見的方法Elasticsearch
- 騰訊雲Elasticsearch叢集規劃及效能優化實踐Elasticsearch優化