国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

穩(wěn)撐30+PB數(shù)據(jù),攜程10年日志系統(tǒng)治理演進(jìn)之路

開發(fā) 新聞
通過日志3.0的構(gòu)建,我們重構(gòu)了日志系統(tǒng)的整體架構(gòu),實(shí)現(xiàn)集群 Kubernetes 化管理,并成功地解決了歷史遺留的 DDL 異常、數(shù)據(jù)跨集群讀寫、索引重構(gòu)優(yōu)、磁盤治理和集群升級(jí)等運(yùn)維難題。

作者介紹

Dongyu,資深云原生研發(fā)工程師,專注于日志與OLAP領(lǐng)域,主要負(fù)責(zé)攜程日志平臺(tái)和CHPaas平臺(tái)的研發(fā)及其運(yùn)維管理工作。

本文將從以下五部分切入,講述日志系統(tǒng)的演進(jìn)之路:攜程日志的背景和現(xiàn)狀、如何搭建一套日志系統(tǒng)、從 ElasticSearch 到 Clickhouse 存儲(chǔ)演進(jìn)、日志3.0重構(gòu)及未來計(jì)劃。

一、日志背景及現(xiàn)狀

圖片

圖1

2012年以前,攜程的各個(gè)部門日志自行收集治理(如圖1)。這樣的方式缺乏統(tǒng)一標(biāo)準(zhǔn),不便治理管控,也更加消耗人力和物力。

從2012年開始,攜程技術(shù)中心推出基于 ElasticSearch 的日志系統(tǒng),統(tǒng)一了日志的接入、ETL、存儲(chǔ)和查詢標(biāo)準(zhǔn)。隨著業(yè)務(wù)量的增長,數(shù)據(jù)量膨脹到 4PB 級(jí)別,給原來的 ElasticSearch 存儲(chǔ)方案帶來不少挑戰(zhàn),如 OOM、數(shù)據(jù)延遲及負(fù)載不均等。此外,隨著集群規(guī)模的擴(kuò)大,成本問題日趨敏感,如何節(jié)省成本也成為一個(gè)新的難題。

2020年初,我們提出用 Clickhouse 作為主要存儲(chǔ)引擎來替換 ElasticSearch 的方案,該方案極大地解決了 ElasticSearch 集群遇到的性能問題,并且將成本節(jié)省為原來的48%。2021年底,日志平臺(tái)已經(jīng)累積了20+PB 的數(shù)據(jù)量,集群也達(dá)到了數(shù)十個(gè)規(guī)模(如圖2)。

2022年開始,我們提出日志統(tǒng)一戰(zhàn)略,將公司的 CLOG 及 UBT 業(yè)務(wù)統(tǒng)一到這套日志系統(tǒng),預(yù)期數(shù)據(jù)規(guī)模將達(dá)到 30+PB。同時(shí),經(jīng)過兩年多的大規(guī)模應(yīng)用,日志集群累積了各種各樣的運(yùn)維難題,如集群數(shù)量激增、數(shù)據(jù)遷移不便及表變更異常等。因此,日志3.0應(yīng)運(yùn)而生。該方案落地了類分庫分表設(shè)計(jì)、Clickhouse on Kubernetes、統(tǒng)一查詢治理層等,聚焦解決了架構(gòu)和運(yùn)維上的難題,并實(shí)現(xiàn)了攜程 CLOG 與 ESLOG 日志平臺(tái)統(tǒng)一。

圖片

圖2

二、如何搭建日志系統(tǒng)

2.1 架構(gòu)圖

從架構(gòu)圖來看(如圖3),整個(gè)日志系統(tǒng)可以分為:數(shù)據(jù)接入、數(shù)據(jù) ETL、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢展示、元數(shù)據(jù)管理系統(tǒng)和集群管理系統(tǒng)。

圖片

圖3

2.2 數(shù)據(jù)接入

數(shù)據(jù)接入主要有兩種方式:

第一種是使用公司框架 TripLog 接入到消息中間件 Kafka(Hermes協(xié)議)(如圖4)。

圖片

圖4

第二種是用戶使用 Filebeat/Logagent/Logstash 或者寫程序自行上報(bào)數(shù)據(jù)到 Kafka(如圖5),再通過 GoHangout 寫入到存儲(chǔ)引擎中。

圖片

圖5

2.3  數(shù)據(jù)傳輸ETL(GoHangout)

GoHangout 是仿照 Logstash 做的一個(gè)開源應(yīng)用(Github鏈接),用于把數(shù)據(jù)從 Kafka 消費(fèi)并進(jìn)行 ETL,最終輸出到不同的存儲(chǔ)介質(zhì)(Clickhouse、ElasticSearch)。其中數(shù)據(jù)處理 Filter 模塊包含了常見的 Json 處理、Grok 正則匹配和時(shí)間轉(zhuǎn)換等一系列的數(shù)據(jù)清理功能(如圖6)。GoHangout 會(huì)將數(shù)據(jù) Message 字段中的 num 數(shù)據(jù)用正則匹配的方式提取成單獨(dú)字段。

圖片

圖6

2.4 ElasticSearch 數(shù)據(jù)存儲(chǔ)

早期2012年第一版,我們使用 ElasticSearch 作為存儲(chǔ)引擎。ElasticSearch 存儲(chǔ)主要由 Master Node、Coordinator Node、Data Node 組成(如圖7)。Master 節(jié)點(diǎn)主要負(fù)責(zé)創(chuàng)建或刪除索引,跟蹤哪些節(jié)點(diǎn)是集群的一部分,并決定哪些分片分配給相關(guān)的節(jié)點(diǎn);Coordinator 節(jié)點(diǎn)主要用于處理請求,負(fù)責(zé)路由請求到正確的節(jié)點(diǎn),如創(chuàng)建索引的請求需要路由到 Master 節(jié)點(diǎn);Data 節(jié)點(diǎn)主要用于存儲(chǔ)大量的索引數(shù)據(jù),并進(jìn)行增刪改查,一般對(duì)機(jī)器的配置要求比較高。

圖片

圖7

2.5  數(shù)據(jù)展示

數(shù)據(jù)展示方面我們使用了 Elastic Stack 家族的 Kibana(如圖8)。Kibana 是一款適合于 ElasticSearch 的數(shù)據(jù)可視化和管理工具,提供實(shí)時(shí)的直方圖、線形圖、餅狀圖和表格等,極大地方便日志數(shù)據(jù)的展示。

圖片

圖8

2.6  表元數(shù)據(jù)管理平臺(tái)

表元數(shù)據(jù)管理平臺(tái)是用戶接入日志系統(tǒng)的入口,我們將每個(gè) Index/ Table 都定義為一個(gè)Scenario(如圖9)。我們通過平臺(tái)配置并管理 Scenario 的一些基礎(chǔ)信息,如:TTL、歸屬、權(quán)限、ETL 規(guī)則和監(jiān)控日志等。

圖片

圖9

三、  從Elasticsearch到Clickhouse

我們將會(huì)從背景、Clickhouse 簡介、ElasticSearch 對(duì)比和解決方案四方面介紹日志從 ElasticSearch 到 Clickhouse 的演進(jìn)過程。2020年初,隨著業(yè)務(wù)量的增長,給 ElasticSearch 集群帶來了不少難題,主要體現(xiàn)在穩(wěn)定性、性能和成本三個(gè)方面。

(1)穩(wěn)定性上:

ElasticSearch 集群負(fù)載高,導(dǎo)致較多的請求 Reject、寫入延遲和慢查詢。

每天 200TB 的數(shù)據(jù)從熱節(jié)點(diǎn)搬遷到冷節(jié)點(diǎn),也有不少的性能損耗。

節(jié)點(diǎn)間負(fù)載不均衡,部分節(jié)點(diǎn)單負(fù)載過高,影響集群穩(wěn)定性。

大查詢導(dǎo)致 ElasticSearch 節(jié)點(diǎn) OOM。

(2)性能上:

ElasticSearch的吞吐量也達(dá)到瓶頸。

查詢速度受到整體集群的負(fù)載影響。

(3)成本上:

倒排索引導(dǎo)致數(shù)據(jù)壓縮率不高。

大文本場景性價(jià)比低,無法保存長時(shí)間數(shù)據(jù)。

3.1 Clickhouse 簡介與 Elasticsearch 對(duì)比

Clickhouse 是一個(gè)用于聯(lián)機(jī)分析(OLAP)的列式數(shù)據(jù)庫管理系統(tǒng)(DBMS)。Yandex 在2016年開源,使用 C++ 語法開發(fā),是一款PB級(jí)別的交互式分析數(shù)據(jù)庫。包含了以下主要特效:列式存儲(chǔ)、Vector、Code Generation、分布式、DBMS、實(shí)時(shí)OLAP、高壓縮率、高吞吐、豐富的分析函數(shù)和 Shared Nothin g架構(gòu)等。

圖片

圖10

Clickhouse采用的是 SQL 的交互方式,非常方便上手。接下來,我們將簡單介紹一下 Clickhouse 的類 LSM、排序鍵、分區(qū)鍵特效,了解 Clickhouse 的主要原理。

首先,用戶每批寫入的數(shù)據(jù)會(huì)根據(jù)其排序鍵進(jìn)行排序,并寫入一個(gè)新的文件夾(如201905_1_1_0),我們稱為 Part C0(如圖10)。隨后,Clickhouse 會(huì)定期在后臺(tái)將這些 Part 通過歸并排序的方式進(jìn)行合并排序,使得最終數(shù)據(jù)生成一個(gè)個(gè)數(shù)據(jù)順序且空間占用較大的 Part。這樣的方式從磁盤讀寫層面上看,能充分地把原先磁盤的隨機(jī)讀寫巧妙地轉(zhuǎn)化為順序讀寫,大大提升系統(tǒng)的吞吐量和查詢效率,同時(shí)列式存儲(chǔ)+順序數(shù)據(jù)的存儲(chǔ)方式也為數(shù)據(jù)壓縮率提供了便利。201905_1_1_0與201905_3_3_0合并為201905_1_3_1就是一個(gè)經(jīng)典的例子。

另外,Clickhouse 會(huì)根據(jù)分區(qū)鍵(如按月分區(qū))對(duì)數(shù)據(jù)進(jìn)行按月分區(qū)。05、06月的數(shù)據(jù)被分為了不同的文件夾,方便快速索引和管理數(shù)據(jù)。

圖片

圖11

我們看中了 Clickhouse 的列式存儲(chǔ)、向量化、高壓縮率和高吞吐等特效(如圖11),很好地滿足了我們當(dāng)下日志集群對(duì)性能穩(wěn)定性和成本的訴求。于是,我們決定用Clickhouse來替代原本 ElasticSearch 存儲(chǔ)引擎的位置。

3.2 解決方案

有了存儲(chǔ)引擎后,我們需要實(shí)現(xiàn)對(duì)用戶無感知的存儲(chǔ)遷移。這主要涉及了以下的工作內(nèi)容(如圖12):自動(dòng)化建表、GoHangout 修改、Clickhouse 架構(gòu)設(shè)計(jì)部署和 Kibana 改造。

圖片

圖12

(1)庫表設(shè)計(jì)

圖片

圖13

我們對(duì)ck在日志場景落地做了很多細(xì)節(jié)的優(yōu)化(如圖13),主要體現(xiàn)在庫表設(shè)計(jì):

我們采用雙 list 的方式來存儲(chǔ)動(dòng)態(tài)變化的 tags(當(dāng)然最新的版本22.8,也可以用map和新特性的 json 方式)。

按天分區(qū)和時(shí)間排序,用于快速定位日志數(shù)據(jù)。

Tokenbf_v1 布隆過濾用于優(yōu)化 term 查詢、模糊查詢。

_log_increment_id 全局唯一遞增 id,用于滾動(dòng)翻頁和明細(xì)數(shù)據(jù)定位。

ZSTD 的數(shù)據(jù)壓縮方式,節(jié)省了40%以上的存儲(chǔ)成本。

(2)Clickhouse 存儲(chǔ)設(shè)計(jì)

Clickhouse 集群主要由查詢集群、多個(gè)數(shù)據(jù)集群和 Zookeeper 集群組成(如圖14)。查詢集群由相互獨(dú)立的節(jié)點(diǎn)組成,節(jié)點(diǎn)不存儲(chǔ)數(shù)據(jù)是無狀態(tài)的。數(shù)據(jù)集群則由Shard組成,每個(gè) Shard 又涵蓋了多個(gè)副本 Replica。副本之間是主主的關(guān)系(不同于常見的主從關(guān)系),兩個(gè)副本都可以用于數(shù)據(jù)寫入,互相同步數(shù)據(jù)。而副本之間的元數(shù)據(jù)一致性則有 Zookeeper 集群負(fù)責(zé)管理。

圖片

圖14

(3)數(shù)據(jù)展示

為了實(shí)現(xiàn)用戶無感知的存儲(chǔ)切換,我們專門實(shí)現(xiàn)了 Kibana 對(duì) Clickhouse 數(shù)據(jù)源的適配并開發(fā)了不同的數(shù)據(jù) panel(如圖15),包括:chhistogram、chhits、chpercentiles、chranges、chstats、chtable、chterms 和 chuniq。通過 Dashboard 腳本批量生產(chǎn)替代的方式,我們快速地實(shí)現(xiàn)了原先 ElasticSearch 的 Dashboard 的遷移,其自動(dòng)化程度達(dá)到95%。同時(shí),我們也支持了使用 Grafana 的方式直接配置 SQL 來生成日志看板。

圖片

圖片

圖片

圖15

(4)集群管理平臺(tái)

為了更好地管理 Clickhouse 集群,我們也做了一整套界面化的 Clickhouse 運(yùn)維管理平臺(tái)。該平臺(tái)覆蓋了日常的 shard 管理、節(jié)點(diǎn)生成、綁定/解綁、權(quán)重修改、DDL 管理和監(jiān)控告警等治理工具(如圖16)。

圖片

圖16

3.3 成果

遷移過程自動(dòng)化程度超過95%,基本實(shí)現(xiàn)對(duì)用戶透明。

存儲(chǔ)空間節(jié)約50+%(如圖17),用原有ElasticSearch的服務(wù)器支撐了4倍業(yè)務(wù)量的增長。

查詢速度比ElasticSearch快4~30倍,查詢P90小于300ms,P99小于1.5s。

圖片

圖17

四、日志3.0構(gòu)建

時(shí)間來到2022年,公司日志規(guī)模再進(jìn)一步增加到 20+PB。同時(shí),我們提出日志統(tǒng)一戰(zhàn)略,將公司的 CLOG 及 UBT 業(yè)務(wù)統(tǒng)一到這套日志系統(tǒng),預(yù)期數(shù)據(jù)規(guī)模將達(dá)到 30+PB。另外,經(jīng)過兩年多的大規(guī)模應(yīng)用,日志系統(tǒng)也面臨了各種各樣的運(yùn)維難題。

(1)  性能與功能痛點(diǎn)

單集群規(guī)模太大,Zookeeper 性能達(dá)到瓶頸,導(dǎo)致 DDL 超時(shí)異常。

當(dāng)表數(shù)據(jù)規(guī)模較大時(shí),刪除字段,容易超時(shí)導(dǎo)致元數(shù)據(jù)不一致。

用戶索引設(shè)置不佳導(dǎo)致查詢慢時(shí),重建排序鍵需要?jiǎng)h除歷史數(shù)據(jù),重新建表。

查詢層缺少限流、防呆和自動(dòng)優(yōu)化等功能,導(dǎo)致查詢不穩(wěn)定。

(2)  運(yùn)維痛點(diǎn)

表與集群嚴(yán)格綁定,集群磁盤滿后,只能通過雙寫遷移。

集群搭建依賴 Ansible,部署周期長(數(shù)小時(shí))。

Clickhouse 版本與社區(qū)版本脫節(jié),目前集群的部署模式不便版本更新。

面對(duì)這樣的難題,我們在2022年推出了日志3.0改造,落地了集群 Clickhouse on Kubernetes、類分庫分表設(shè)計(jì)和統(tǒng)一查詢治理層等方案,聚焦解決了架構(gòu)和運(yùn)維上的難題。最終,實(shí)現(xiàn)了統(tǒng)一攜程 CLOG 與 ESLOG 兩套日志系統(tǒng)。

4.1  ck on k8s

我們使用 Statefulset、反親和、Configmap 等技術(shù)實(shí)現(xiàn)了 Clickhouse 和 Zookeeper 集群的 Kubernetes 化部署,使得單集群交付時(shí)間從2天優(yōu)化到5分鐘。同時(shí),我們統(tǒng)一了部署架構(gòu),將海內(nèi)外多環(huán)境部署流程標(biāo)準(zhǔn)化。這種方式顯著地降低了運(yùn)維成本并釋放人力。更便利的部署方式有益于單個(gè)大集群的切割,我們將大集群劃分為多個(gè)小集群,解決了單集群規(guī)模過大導(dǎo)致 Zookeeper 性能瓶頸的問題。

4.2 類分庫分表設(shè)計(jì)

圖片

圖18

(1)數(shù)據(jù)跨如何跨集群

假設(shè)我們有三個(gè)數(shù)據(jù)集群1、2、3和三個(gè)表A、B、C(如圖18)。在改造之前,我們單張表(如A)只能坐落在一個(gè)數(shù)據(jù)集群1中。這樣的設(shè)計(jì)方式,導(dǎo)致了當(dāng)集群1磁盤滿了之后,我們沒有辦法快速地將表A數(shù)據(jù)搬遷到磁盤相對(duì)空閑的集群2中。我們只能用雙寫的方式將表A同時(shí)寫入到集群1和集群2中,等到集群2的數(shù)據(jù)經(jīng)過了TTL時(shí)間(如7天)后,才能將表A從數(shù)據(jù)集群1中刪除。這樣,對(duì)我們的集群運(yùn)維管理帶來了極大的不方便和慢響應(yīng),非常耗費(fèi)人力。

于是,我們設(shè)計(jì)一套類分庫分表的架構(gòu),來實(shí)現(xiàn)表A在多個(gè)集群1、2、3之間來回穿梭。我們可以看到右邊改造后,表A以時(shí)間節(jié)點(diǎn)作為分庫分表的切換點(diǎn)(這個(gè)時(shí)間可以是精確到秒,為了好理解,我們這里以月來舉例)。我們將6月份的數(shù)據(jù)寫入到集群1、7月寫到集群2、8月寫到集群3。當(dāng)查詢語句命中6月份數(shù)據(jù)時(shí),我們只查詢集群1的數(shù)據(jù);當(dāng)查詢語句命中7月和8月的數(shù)據(jù),我們就同時(shí)查詢集群2和集群3的數(shù)據(jù)。

我們通過建立不同分布式表的方式實(shí)現(xiàn)了這個(gè)能力(如:分布式表tableA_06/tableA_07/tableA_08/tableA_0708,分布式表上的邏輯集群則是是集群1、2、3的組合)。這樣,我們便解決了表跨集群的問題,不同集群間的磁盤使用率也會(huì)趨于平衡。

(2)如何修改排序鍵不刪除歷史數(shù)據(jù)

非常巧妙的是,這種方式不僅能解決磁盤問題。Clickhouse 分布式表的設(shè)計(jì)只關(guān)心列的名稱,并不關(guān)心本地?cái)?shù)據(jù)表的排序鍵設(shè)置?;谶@種特性,我們設(shè)計(jì)表A在集群2和集群3使用不一樣的排序鍵。這樣的方式也能夠有效解決初期表A在集群2排序鍵設(shè)計(jì)不合理的問題。我們通過在集群3上重新建立正確的排序鍵,讓其對(duì)新數(shù)據(jù)生效。同時(shí),表A也保留了舊的7月份數(shù)據(jù)。舊數(shù)據(jù)會(huì)在時(shí)間的推移一下被TTL清除,最終數(shù)據(jù)都使用了正確的排序鍵。

(3)如何解決刪除大表字段導(dǎo)致元數(shù)據(jù)不一致

更美妙的是,Clickhouse 的分布式表設(shè)計(jì)并不要求表A在7月和8月的元數(shù)據(jù)字段完全一致,只需要有公共部分就可以滿足要求。比如表A有在7月有11個(gè)字段,8月份想要?jiǎng)h除一個(gè)棄用的字段,那么只需在集群3上建10個(gè)字段的本地表A,而分布式表 tableA_0708 配置兩個(gè)表共同擁有的10個(gè)字段即可(這樣查分布式表只要不查被刪除的字段就不會(huì)報(bào)錯(cuò))。通過這種方式,我們也巧妙地解決了在數(shù)據(jù)規(guī)模特別大的情況下(單表百TB),刪除字段導(dǎo)致常見的元數(shù)據(jù)不一致問題。

(4)集群升級(jí)

同時(shí),這種多版本集群的方式,也能方便地實(shí)現(xiàn)集群升級(jí)迭代,如直接新建一個(gè)集群4來存儲(chǔ)所有的09月的表數(shù)據(jù)。集群4可以是社區(qū)最新版本,通過這種迭代的方式逐步實(shí)現(xiàn)全部集群的升級(jí)。

4.3 元數(shù)據(jù)管理

為了實(shí)現(xiàn)上述的功能,我們需要維護(hù)好一套完整的元數(shù)據(jù)信息,來管理表的創(chuàng)建、寫入和 DDL(如圖19)。該元數(shù)據(jù)包含每個(gè)表的版本定義、每個(gè)版本數(shù)據(jù)的數(shù)據(jù)歸屬集群和時(shí)間范圍等。

圖片

圖19

4.4  統(tǒng)一查詢治理層

(1)Antlr4 的 SQL 解析

在查詢層,我們基于 Antlr4 技術(shù),將用戶的查詢 SQL 解析成 AST 樹。通過 AST 樹,我們能夠快速地獲得 SQL 的表名、過濾條件、聚合維度等(如圖20)。我們拿到這些信息后,能夠非常方便地對(duì) SQL 實(shí)時(shí)針對(duì)性的策略,如:數(shù)據(jù)統(tǒng)計(jì)、優(yōu)化改寫和治理限流等。

圖片

圖20

(2)查詢代理層

圖片

圖21

我們對(duì)所有用戶的SQL查詢做了一層統(tǒng)一的查詢網(wǎng)關(guān)代理(如圖21)。該程序會(huì)根據(jù)元數(shù)據(jù)信息和策略對(duì)用戶的 SQL 進(jìn)行改寫,實(shí)現(xiàn)了精準(zhǔn)路由和性能優(yōu)化等功能。同時(shí),該程序會(huì)記錄每次查詢的明細(xì)上下文,用于對(duì)集群的查詢做統(tǒng)一化治理,如:QPS 限制、大表掃描限制和時(shí)間限制等拒絕策略,來提高系統(tǒng)的穩(wěn)定性。

五、未來計(jì)劃

通過日志3.0的構(gòu)建,我們重構(gòu)了日志系統(tǒng)的整體架構(gòu),實(shí)現(xiàn)集群 Kubernetes 化管理,并成功地解決了歷史遺留的 DDL 異常、數(shù)據(jù)跨集群讀寫、索引重構(gòu)優(yōu)、磁盤治理和集群升級(jí)等運(yùn)維難題。2022年,日志系統(tǒng)成果地支撐了公司 CLOG 與 UBT 業(yè)務(wù)的數(shù)據(jù)接入,集群數(shù)據(jù)規(guī)模達(dá)到了30+PB。

當(dāng)然,攜程的日志系統(tǒng)演進(jìn)也不會(huì)到此為止,我們的系統(tǒng)在功能、性能和治理多方面還有不少改善的空間。在未來,我們將進(jìn)一步完善日志統(tǒng)一查詢治理層,精細(xì)化地管理集群查詢與負(fù)載;推出日志預(yù)聚合功能,對(duì)大數(shù)據(jù)量的查詢場景做加速,并支持 AI智能告警;充分地運(yùn)用云上能力,實(shí)現(xiàn)彈性混合云,低成本支撐節(jié)假日高峰;推到日志產(chǎn)品在攜程系各個(gè)公司的使用覆蓋等。讓我們一起期待下一次的日志升級(jí)。

責(zé)任編輯:張燕妮 來源: 攜程技術(shù)
相關(guān)推薦

2023-01-13 14:35:00

攜程實(shí)踐

2022-08-06 08:27:41

Trace系統(tǒng)機(jī)票前臺(tái)微服務(wù)架構(gòu)

2022-10-21 10:40:08

攜程酒店MySQL慢查詢

2020-09-14 13:12:17

支付中心數(shù)據(jù)架構(gòu)

2023-09-15 09:34:54

2024-03-08 14:43:03

攜程技術(shù)系統(tǒng)

2024-05-23 17:14:49

2019-01-15 18:03:54

數(shù)據(jù)庫運(yùn)維 技術(shù)

2024-08-28 09:50:51

2014-08-15 13:53:43

WindowsWindows 8.1

2022-11-10 20:43:57

數(shù)據(jù)治理數(shù)據(jù)湖

2023-02-01 10:11:06

轉(zhuǎn)轉(zhuǎn)容器日志

2022-06-10 08:43:20

攜程小程序Size治理Size檢查

2014-12-25 17:51:07

2023-10-13 09:34:27

算法數(shù)據(jù)

2022-08-19 10:54:37

數(shù)據(jù)庫技術(shù)

2022-08-12 08:34:32

攜程數(shù)據(jù)庫上云

2022-05-27 09:25:12

攜程酒店本地緩存查詢服務(wù)

2024-07-17 11:40:58

2025-12-01 07:48:13

點(diǎn)贊
收藏

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

亚洲人成网站影音先锋播放| 亚洲美女黄色片| 蜜桃传媒视频麻豆第一区免费观看| 国产精品麻豆成人av电影艾秋| 一本大道久久a久久综合婷婷 | 91久久精品www人人做人人爽| 国产精品亚洲四区在线观看| 亚洲а∨天堂久久精品9966| 韩国免费在线视频| 五月开心婷婷久久| 91天堂在线| 自拍偷拍亚洲欧美日韩| 亚洲久久中文字幕| 国产色产综合色产在线视频| 男女高潮又爽又黄又无遮挡| 国内精品伊人久久久久av影院| 鲁片一区二区三区| 自拍日韩欧美| 亚洲影院高清在线| 午夜久久黄色| 国产精品免费一区二区| 亚洲日本视频| 日韩激情视频| 久久婷婷一区| 亚洲欧美综合一区| 国产精品主播直播| 国产真人做爰毛片视频直播| 成人激情文学综合网| 动漫av网站免费观看| 久久精品夜色噜噜亚洲aⅴ| 午夜视频在线瓜伦| 中文字幕一区二区三区在线不卡| 国产九一视频| 欧美日韩免费在线观看| 久久精品国产亚洲a∨麻豆| 色8久久精品久久久久久蜜| 男女污污视频在线观看| 欧美午夜精品一区二区三区| 免费a级人成a大片在线观看| 精品成人佐山爱一区二区| 日韩伦理精品| 欧美大片在线免费观看| 精品国产午夜| 国产精品手机视频| 国内精品伊人久久久久av影院 | 精品嫩草影院久久| 韩国精品一区| 国产视频久久网| 精品美女一区| 国内精品久久久久伊人av| 亚洲综合图色| 97操在线视频| 紧缚奴在线一区二区三区| 激情深爱综合网| 夜夜精品浪潮av一区二区三区| 欧美在线观看在线观看| 91精品国产手机| 日韩中文视频| 国产精品久久久久久搜索| 欧美日韩亚洲一区三区| 亚洲小说欧美另类激情| 久久精品免视看| 黄色在线播放| 国产一区二区精品丝袜| 欧美一性一交| 亚洲一区二区三区乱码aⅴ| 日韩精品欧美精品| 五月综合网站| 欧美精品v日韩精品v韩国精品v| 伊人久久精品一区二区三区| 欧美中文字幕在线播放| 久久久久久婷| 调教视频vk| 亚洲国产毛片完整版| 亚洲妇女av| 一区二区视频国产| 亚洲欧洲av色图| 国产99re66在线视频| 青青久久av北条麻妃黑人| 男女精品视频| 2019一级黄色毛片免费看网| 日韩欧美一级二级三级久久久| 99香蕉久久| 欧美日韩一区二区三区在线观看免| 久久久久久久电影| 呦呦在线视频| 国产精品18久久久久久首页狼| 久久99精品网久久| 神马久久精品| 欧美黑人又粗大| 久久中文在线| 极品粉嫩饱满一线天在线| 伊人伊成久久人综合网小说| 国产精品大片免费观看| 妺妺窝人体色www在线观看| 欧美大片顶级少妇| 天天影视综合| 欧美三级午夜理伦三级富婆| 亚洲国产精品中文| 97精品一区二区| 欧美日韩国产精品激情在线播放| 欧美日韩国产精选| 经典一区二区| 欧美伦理片在线观看| 亚洲老司机av| 视频一区视频二区中文字幕| 欧美在线一卡| 国产精品扒开腿做爽爽爽视频| www.性欧美| 欧美片第一页| 亚洲一二区在线| 日韩一级在线观看| 一区在线播放| 黄色免费在线播放| 成人精品福利视频| 一区二区在线观看不卡| 99久久免费精品国产72精品九九| 国产精品久久中文字幕| 国产亚洲欧洲高清| 国产精品正在播放| 欧美精品总汇| 成人在线观看你懂的| 国产精品欧美一区二区三区不卡| a级黄色片网站| 韩国欧美亚洲国产| 亚洲精品亚洲人成人网在线播放| 视频精品一区| 欧美在线观看视频免费| 日韩电影中文字幕av| 久久综合中文| 国产极品一区| 日韩久久久久久久久久久久| 国产精品久久久久久久久免费樱桃| av在线不卡精品| 亚洲欧美日韩一区二区三区在线观看 | 日韩在线观看一区二区| 在线观看黄色| 久久久久久久久久av| 国产一区福利在线| 黑人巨大亚洲一区二区久| 久久精品成人一区二区三区蜜臀| 精品人伦一区二区三区蜜桃网站| 奇米影视777在线欧美电影观看| 真实国产乱子伦对白视频| 亚洲天堂av电影| 国产毛片精品一区| 福利在线导航136| 久久日韩精品| 欧美亚洲国产怡红院影院| 久久要要av| 午夜在线观看视频网站| 国产精品国产精品国产专区蜜臀ah| 亚洲一区二区三区小说| 精品国产一级毛片| 国产超碰在线观看| 国产精品久久久久秋霞鲁丝 | 久久久久久久综合| 日韩免费在线电影| 奇米影视亚洲色图| 精品国偷自产在线视频99| 国产精品综合二区| 韩国三级成人在线| 色综合手机在线| 91成人在线观看国产| 亚洲猫色日本管| 清纯唯美亚洲经典中文字幕| 一级二级三级在线观看| 成人激情视频免费在线| 色综合久久99| 亚洲免费观看视频| 中文字幕一区二区在线播放 | **欧美大码日韩| 久久精品二区三区| 亚瑟一区二区三区四区| 刘亦菲一区二区三区免费看| www.视频在线.com| 超碰激情在线| 日本蜜桃在线观看视频| 日本一区二区视频| 亚洲国产精品福利| 久久久久久久欧美精品| 久久69成人| 亚洲天堂2018av| 国产精品自产拍在线观| 欧美伊人久久大香线蕉综合69 | 国产伦理精品| 中文字幕一区二区三区四区在线视频| 91国产在线精品| 欧美群妇大交群中文字幕| 亚洲人成电影| 亚洲高清在线播放| 久久综合色影院| 亚洲丰满少妇videoshd| 精品中文字幕一区二区| 白嫩白嫩国产精品| 蜜乳av一区| 中文字幕精品一区二区精品| 一区二区三区四区在线| 亚洲国产高清一区| 僵尸再翻生在线观看|