自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

All in ECP,轉(zhuǎn)轉(zhuǎn)一站式ES數(shù)據(jù)清洗解決方案

開(kāi)發(fā) 架構(gòu)
總的來(lái)說(shuō),ECP系統(tǒng)是一個(gè)基于Elasticsearch的數(shù)據(jù)傳輸鏈路計(jì)劃管理平臺(tái),致力于為用戶提供更加高效、便捷的數(shù)據(jù)清洗解決方案。我們會(huì)持續(xù)迭代系統(tǒng)的功能,以滿足不斷變化的業(yè)務(wù)需求和用戶期望。

一、業(yè)務(wù)背景

??轉(zhuǎn)轉(zhuǎn)作為國(guó)內(nèi)頭部的循環(huán)經(jīng)濟(jì)產(chǎn)業(yè)公司,目前業(yè)務(wù)架構(gòu)是中臺(tái)模式。中臺(tái)負(fù)責(zé)提供通用的交易能力,靈活快速響應(yīng)業(yè)務(wù)需求,業(yè)務(wù)方負(fù)責(zé)前臺(tái)探索創(chuàng)新,為用戶提供有價(jià)值的服務(wù)。

??轉(zhuǎn)轉(zhuǎn)交易中臺(tái)目前分為基礎(chǔ)服務(wù)、訂單、促銷、天路、支付等方向,每個(gè)方向都擁有各自業(yè)務(wù)所需的ES索引,索引量級(jí)20+,數(shù)據(jù)量10億+。

??隨著轉(zhuǎn)轉(zhuǎn)業(yè)務(wù)的快速增長(zhǎng),目前研發(fā)對(duì)于ES類需求的手動(dòng)支撐已無(wú)法滿足業(yè)務(wù)的快速迭代訴求。目前不僅缺乏技術(shù)沉淀和數(shù)據(jù)積累,而且上手門檻高且效率低。為了解決痛點(diǎn),ECP(Elasticsearch Chain Planning)系統(tǒng)應(yīng)用而生。

圖片

二、現(xiàn)狀與問(wèn)題

2.1 現(xiàn)狀概述

根據(jù)歷史經(jīng)驗(yàn),目前索引重建需要如下步驟:

  • 1、確定需求方使用的索引
  • 2、找到該索引最新一次使用的模板,編輯模板
  • 3、根據(jù)模板創(chuàng)建一個(gè)新的索引(indexName_vn),其中n代表版本號(hào)
  • 4、修改該索引的寫邏輯handler
  • 5、上線索引寫服務(wù)
  • 6、配置新老索引雙寫
  • 7、找到或編寫導(dǎo)出ID數(shù)據(jù)的(Shell或Python)腳本,執(zhí)行并導(dǎo)出存量ID源(沙箱已被限制MySQL命令)
  • 8、上傳到清洗機(jī)上(沙箱或者線上),調(diào)用索引寫服務(wù)的接口,觸發(fā)數(shù)據(jù)清洗
  • 9、修改索引讀服務(wù)配置,增加對(duì)新字段的查詢配置
  • 10、切換索引別名,將流量指向新索引
  • 11、停止雙寫
  • 12、刪除舊索引

2.2 存在的問(wèn)題

  • 1、人工操作腳本(Shell或Python)導(dǎo)出所有待清洗ID數(shù)據(jù);目前沙箱已禁用MySQL命令(出于安全考慮);文本比較大,經(jīng)常遇到內(nèi)存不足或磁盤不足的情況。
  • 2、重建索引成本高,步驟多且效率低,訂單索引重建一次大概需要5~7天的時(shí)間(Bulk方式)。
  • 3、清洗進(jìn)度無(wú)感知,無(wú)法預(yù)估完成時(shí)間。
  • 4、無(wú)法斷點(diǎn)續(xù)刷,失敗后需要人工介入找到臨界點(diǎn)后手動(dòng)觸發(fā),費(fèi)時(shí)費(fèi)力。
  • 5、索引存量清洗與增量清洗未隔離,可能會(huì)影響線上正常業(yè)務(wù)。正常渠道產(chǎn)生的增量數(shù)據(jù)和刷索引產(chǎn)生的存量會(huì)放置到同一個(gè)阻塞隊(duì)列中,然后處理器讀取該阻塞隊(duì)列,進(jìn)行數(shù)據(jù)處理,若處理失敗,會(huì)將該條記錄寫入到Fail文件中,一分鐘后讀取該文件再次放置到阻塞隊(duì)列中處理,如下圖:

圖片

三、 解決思路

圖片

  • 抽象流程步驟,將索引刷新流程標(biāo)準(zhǔn)化&自動(dòng)化&可視化,以提高效率和準(zhǔn)確性。

  • 圖片

  • 系統(tǒng)賦能,釋放人力資源,提供完備的任務(wù)管理能力,包括中斷恢復(fù)、進(jìn)度可視化、QPS限流和心跳檢測(cè)等功能。
  • 存量與增量隔離,利用架構(gòu)部提供基于標(biāo)簽的流量路由能力,實(shí)現(xiàn)數(shù)據(jù)清洗存量數(shù)據(jù)與增量數(shù)據(jù)的環(huán)境隔離。
  • 權(quán)限控制與數(shù)據(jù)沉淀,接入公司統(tǒng)一權(quán)限管理系統(tǒng),實(shí)現(xiàn)數(shù)據(jù)源與腳本管理、ES集群與索引管理(含模板管理)、任務(wù)管理,及操作日志記錄等。

四、 實(shí)戰(zhàn)揭秘

4.1 什么是ECP系統(tǒng)?

ECP(Elasticsearch Chain Planning)系統(tǒng),即一個(gè)基于Elasticsearch的數(shù)據(jù)傳輸鏈路計(jì)劃管理平臺(tái)。在轉(zhuǎn)轉(zhuǎn)技術(shù)體系內(nèi),致力于協(xié)助研發(fā)運(yùn)營(yíng)人員高效管理ES的索引新建、數(shù)據(jù)清洗、索引重建等任務(wù)計(jì)劃,并提供可靠的一站式任務(wù)流解決方案,提升ES類需求的響應(yīng)效率。

圖片

4.2 ECP系統(tǒng)有哪些功能?

4.2.1 任務(wù)管理

任務(wù)管理包含ES索引新建、數(shù)據(jù)清洗、索引重建等任務(wù)流。它提供了多個(gè)獨(dú)立模塊,包括索引新建刪除、別名切換、數(shù)據(jù)清洗、索引預(yù)熱、雙寫管理等,同時(shí)還擁有任務(wù)進(jìn)度可視化、暫停和恢復(fù)、QPS限流、中斷自動(dòng)恢復(fù)等能力,此外還留存了任務(wù)過(guò)程數(shù)據(jù),方便日后復(fù)盤和查看。

圖片

4.2.2 數(shù)據(jù)源和腳本管理

主要管理數(shù)據(jù)庫(kù)基本信息和獲取源數(shù)據(jù)的SQL腳本,供任務(wù)獲取源數(shù)據(jù)使用。它具有數(shù)據(jù)庫(kù)連接檢測(cè)、SQL語(yǔ)法校驗(yàn)及格式化等輔助功能。

圖片

4.2.3 集群和索引管理

主要管理索引的基本信息,如索引的名稱、別名、磁盤占用、所屬集群、分片數(shù)量、健康狀態(tài)、部門歸屬等。

圖片

4.2.4 索引模板管理

主要針對(duì)索引模板進(jìn)行集中管理,避免散落丟失,索引模板通常用于索引新建操作。

圖片

4.3 ECP系統(tǒng)解決了什么問(wèn)題?

4.3.1 解決了ES索引重建數(shù)據(jù)清洗任務(wù)流程中的卡點(diǎn)和難點(diǎn)

例如原來(lái)刷ES索引需要從數(shù)據(jù)庫(kù)手動(dòng)導(dǎo)出一份ID文件,并傳輸至ES寫服務(wù)的服務(wù)器上,然后遠(yuǎn)程RPC觸發(fā)開(kāi)始執(zhí)行,過(guò)程中需要人工值守,中斷手動(dòng)重試。還有編寫導(dǎo)ID的Shell或Python腳本、服務(wù)器之間文件上傳下載、遠(yuǎn)程RPC端口轉(zhuǎn)發(fā)、源索引模板缺失、進(jìn)度不可見(jiàn)、中斷無(wú)感知等重重難點(diǎn)。不但上手門檻高效率低,事倍功半;而且操作不規(guī)范,與公司日益規(guī)范化進(jìn)程相悖。這次ECP解決了這些問(wèn)題,使整個(gè)任務(wù)操作流程簡(jiǎn)單、順暢、高效、規(guī)范。

4.3.2 解決ES索引數(shù)據(jù)清洗環(huán)境耦合及速率問(wèn)題

原先ES索引存量數(shù)據(jù)清洗與線上增量數(shù)據(jù)共用同一隊(duì)列,當(dāng)清洗速率過(guò)大時(shí),會(huì)影響線上正常數(shù)據(jù)的消費(fèi)時(shí)效,影響用戶體驗(yàn),例如用戶已經(jīng)支付成功了,但是看到的仍是未支付等問(wèn)題。本次ECP利用架構(gòu)提供的基于標(biāo)簽的流量路由能力將存量與增量進(jìn)行了機(jī)器隔離,徹底解決該痛點(diǎn)。理論上在下游服務(wù)承受范圍內(nèi),只要增加ES寫服務(wù)機(jī)器,即可提升存量數(shù)據(jù)清洗的速率。

圖片

4.3.3 解決索引、模板、腳本分散導(dǎo)致的需求響應(yīng)低效問(wèn)題

原先的索引、模板、腳本散落在各個(gè)角落,每次需求過(guò)來(lái)需要翻找上次需求使用的腳本和模板,由于人員的流動(dòng),經(jīng)常找不見(jiàn)舊的腳本或模板,而需要研發(fā)重新造輪子。這樣不但耗費(fèi)時(shí)間精力,需求響應(yīng)慢,業(yè)務(wù)感知較差;而且沒(méi)有技術(shù)和數(shù)據(jù)的沉淀,缺乏系統(tǒng)性的持續(xù)迭代,進(jìn)而提高效率。本次ECP將這些收攏起來(lái),便于日后持續(xù)提效。

4.4 名詞解釋

4.4.1 任務(wù)

任務(wù)指為了完成某個(gè)目標(biāo)而建立的活動(dòng)或工作。具有目標(biāo)明確、時(shí)間限制、進(jìn)度追蹤等特性。ECP系統(tǒng)中的任務(wù)通常有存量ID清洗任務(wù),存量文件清洗任務(wù),索引構(gòu)建任務(wù)等。

4.4.2 索引簇(cù)和索引

索引簇是索引的抽象,索引簇定義了索引的唯一標(biāo)識(shí)、模板、屬性等,但沒(méi)有具體的實(shí)現(xiàn),類似于Java中的接口或類;而索引是索引簇的實(shí)例。例如:在訂單列表場(chǎng)景中,“我賣出的”訂單列表索引簇(唯一標(biāo)識(shí)是:order_list),實(shí)際索引實(shí)例為(order_list_v2),假設(shè)業(yè)務(wù)需要新增一個(gè)索引字段,那么我們會(huì)新建索引實(shí)例(order_list_v3),這里v2和v3索引都屬于索引簇(order_list)的實(shí)例。

4.4.3 數(shù)據(jù)源

即數(shù)據(jù)的來(lái)源,在ECP中,分為ID源,文本源和MySQL源。

4.4.4 腳本

即MySQL源和SQL腳本的組合,可以從數(shù)據(jù)庫(kù)中讀取源數(shù)據(jù)。

4.5 整體設(shè)計(jì)

圖片

4.6 系統(tǒng)演示

4.6.1 新建任務(wù)

圖片

4.6.2 任務(wù)執(zhí)行

圖片

五、結(jié)語(yǔ)

5.1 總結(jié)

總的來(lái)說(shuō),ECP系統(tǒng)是一個(gè)基于Elasticsearch的數(shù)據(jù)傳輸鏈路計(jì)劃管理平臺(tái),致力于為用戶提供更加高效、便捷的數(shù)據(jù)清洗解決方案。我們會(huì)持續(xù)迭代系統(tǒng)的功能,以滿足不斷變化的業(yè)務(wù)需求和用戶期望。

5.2 規(guī)劃

目前ECP系統(tǒng)v1.0版本上線不久,仍處于團(tuán)隊(duì)內(nèi)測(cè)階段,索引刷新類需求提效已初露鋒芒。接下來(lái)我們將持續(xù)完善和打磨,并計(jì)劃在未來(lái)增加更多實(shí)用的功能。例如,清洗任務(wù)定時(shí)執(zhí)行、reindex支持、別名切換回滾以及數(shù)據(jù)一致性校驗(yàn)等功能,這些功能將使日常的ES數(shù)據(jù)清洗工作更加高效便捷。

責(zé)任編輯:武曉燕 來(lái)源: 轉(zhuǎn)轉(zhuǎn)技術(shù)
相關(guān)推薦

2010-05-06 16:02:26

2013-06-14 09:30:52

2015-04-19 16:36:10

騰訊云

2013-12-12 15:34:00

Moneta移動(dòng)支付一站式解決方案

2015-02-02 11:06:21

cocos cocos一站式解決

2017-11-28 13:53:18

2014-07-04 11:44:00

數(shù)字營(yíng)銷國(guó)雙科技AdSuite

2013-03-26 09:57:05

戴爾

2019-05-29 14:12:02

騰訊To B計(jì)費(fèi)

2013-10-23 10:58:07

友盟解決方案

2015-02-02 16:07:50

游戲開(kāi)發(fā)

2011-04-22 10:15:43

一體機(jī)Gateway ZX4

2013-10-18 15:07:07

華為BYOD移動(dòng)辦公華為

2015-07-14 15:34:28

阿里云萬(wàn)網(wǎng)

2014-07-16 16:06:53

AdSuite解決方案數(shù)字營(yíng)銷洞察

2024-08-19 09:05:00

Seata分布式事務(wù)

2017-05-04 21:30:32

前端異常監(jiān)控捕獲方案

2014-12-23 15:34:31

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)