成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

京東虛擬業(yè)務(wù)多維訂單系統(tǒng)架構(gòu)設(shè)計

開發(fā) 開發(fā)工具
本期為大家介紹京東平臺的重要產(chǎn)品之一虛擬訂單中心。

當(dāng)年白居易初到長安,拜見大儒顧況,老先生見名曰“長安米貴,居大不易”,當(dāng)讀到白居易所詩“野火燒不盡,春風(fēng)吹又生”時不禁贊嘆“有句如此,居天下有甚難”。

京東平臺隸屬虛擬平臺下基礎(chǔ)平臺組研發(fā)的公共基礎(chǔ)服務(wù)平臺,上承復(fù)雜非標(biāo)品商品模型,下接海量個性化訂單數(shù)據(jù),為虛擬平臺內(nèi)外設(shè)計的所有非標(biāo)準(zhǔn)結(jié)構(gòu)商品提供結(jié)構(gòu)個性化定制、發(fā)布、促銷、虛擬資產(chǎn)支付、結(jié)算、退款及訂單匯聚、流動、統(tǒng)計、展示等豐富解決方案,大大降低了電商行業(yè)非標(biāo)準(zhǔn)商品的業(yè)務(wù)開發(fā)復(fù)雜度。

本期為大家介紹京東平臺的重要產(chǎn)品之一虛擬訂單中心。

同主站常規(guī)實(shí)物訂單中心一樣,京東虛擬訂單中心定位于訂單數(shù)據(jù)的匯聚、變更及狀態(tài)維護(hù)等,目前已經(jīng)聚合了手機(jī)充值、加油卡、機(jī)票酒店、景點(diǎn)門票火車票、點(diǎn)卡頁游等大量虛擬商品和部分非虛擬商品的訂單詳情數(shù)據(jù),同時為京東主站訂單中心提供訂單展示,對接風(fēng)控、營銷等業(yè)務(wù)方提供訂單數(shù)據(jù)分析應(yīng)用等。

虛擬訂單中心的核心功能主要圍繞數(shù)據(jù)搬運(yùn)工(Hamal)產(chǎn)品運(yùn)行, Hamal是京東依托開源項(xiàng)目研發(fā)的MySQL數(shù)據(jù)庫binlog監(jiān)聽產(chǎn)品,在保證高可用的前提下實(shí)現(xiàn)了高指標(biāo)的監(jiān)聽轉(zhuǎn)換過程。

預(yù)備小知識1-Binlog

binlog是mysql數(shù)據(jù)庫開啟Row模式時提供的二進(jìn)制日志,以binlogEvent形式記錄對數(shù)據(jù)發(fā)生或潛在發(fā)生更改(事務(wù)開啟)的SQL語句和數(shù)據(jù),類似于oracle數(shù)據(jù)庫的歸檔日志,可以用來查看數(shù)據(jù)庫的變更歷史、數(shù)據(jù)庫增量備份和基于時間點(diǎn)的恢復(fù)及Mysql的復(fù)制等。

預(yù)備小知識2-同步監(jiān)聽原理

簡單說就是模擬mysql的主從復(fù)制過程,先偽造成slave向master庫發(fā)送COM_REGISTER_SLAVE命令注冊客戶端,這樣master才會發(fā)送binlogEvent;接著發(fā)送COM_BINLOG_DUMP命令,并指定binlog文件和Position信息,即可從Master庫獲得包含詳細(xì)數(shù)據(jù)的binlogEvent二進(jìn)制流,binlogEvent包含了所有數(shù)據(jù)庫的事件類型(DDL、DML、TCL、授權(quán)等)、庫表信息、字段信息和行數(shù)據(jù),余下的工作經(jīng)過過濾、解析、協(xié)議反序列化得到想要的訂單數(shù)據(jù)。

COM_BINLOG_DUMP命令格式如下:

  1. -COM_BINLOG_DUMP 
  2.     -4byte binlog-pos 
  3.     -2byte flags (BINLOG_DUMP_NON_BLOCK see sql/mysql_priv.h) 
  4.     -4byte slave-server-id 
  5.     -nul-term binlog name 
  6. DML的binlogEvent類型如下: 
  7. enumLog_event_type { 
  8.   /* ...... */ 
  9.   WRITE_ROWS_EVENT = 23
  10.   UPDATE_ROWS_EVENT = 24
  11.   DELETE_ROWS_EVENT = 25
  12.   INCIDENT_EVENT26
  13.   HEARTBEAT_LOG_EVENT27
  14.   /* ...... */ 
  15. }; 

虛擬訂單中心的主要架構(gòu)如下:

虛擬訂單中心的主要架構(gòu)

Hamal作為虛擬訂單中心數(shù)據(jù)管道的入口,其首要的任務(wù)是保證數(shù)據(jù)庫數(shù)據(jù)變動的精準(zhǔn)消費(fèi),因此必須謹(jǐn)慎設(shè)計binlog的消費(fèi)記錄和異常消費(fèi)后續(xù)處理機(jī)制等。

健壯性和高可用 Hamal使用zookeeper集群管理監(jiān)聽實(shí)例和記錄binlog的消費(fèi)位置信息。對于目標(biāo)庫,多個Hamal實(shí)例在啟動時搶占該庫的映射節(jié)點(diǎn)以獲取監(jiān)聽權(quán)限,落選的實(shí)例則以熱備份形式監(jiān)聽zk對應(yīng)節(jié)點(diǎn)binlog位置信息,在遭遇服務(wù)不可用或宕機(jī)時,迅速通過搶占接力監(jiān)聽服務(wù)和binlog信息;Hamal也支持同時監(jiān)聽目標(biāo)庫的多個目標(biāo)從庫,冪等的消費(fèi)binlog以防止目標(biāo)庫單節(jié)點(diǎn)宕機(jī)故障。由此,多重防災(zāi)機(jī)制力保服務(wù)的72小時高可用及數(shù)據(jù)的完備性,目前穩(wěn)定提供日監(jiān)聽千萬行記錄,從未拋棄過一條訂單。

快消費(fèi)

Hamal采用類似TCP滑動窗口的binlogEvent消費(fèi)的Get和ACK機(jī)制:每次接收批量binlog記錄,并行解析數(shù)據(jù)的變更,發(fā)送JMQ消息后確認(rèn)消費(fèi)(ACK),以窗口長度作為binlogPosition的增長步調(diào)。Hamal通過自產(chǎn)自銷MQ消息方式繼續(xù)驅(qū)動訂單數(shù)據(jù)的后續(xù)業(yè)務(wù)處理,后續(xù)過程包含數(shù)據(jù)變更的去重、DML過濾、存儲等,同時也可以為風(fēng)控、營銷、訂單交易等系統(tǒng)提供個性化數(shù)據(jù)訂閱服務(wù)。這樣即可以解耦binlog消費(fèi)環(huán)節(jié)以加速消費(fèi),又可以隔離同步監(jiān)聽服務(wù)和業(yè)務(wù)邏輯。

讀寫分離

Hamal采集的訂單數(shù)據(jù)轉(zhuǎn)換成訂單模型后繼續(xù)流向虛擬訂單中心的三重存儲介質(zhì)中:傳統(tǒng)Mysql數(shù)據(jù)庫作為原始數(shù)據(jù)的第一重存儲,ES和緩存系統(tǒng)用于數(shù)據(jù)索引和分析,以實(shí)現(xiàn)讀寫分離。存儲訂單數(shù)據(jù)上,DAO模塊同樣使用消息隊列解耦,訂單數(shù)據(jù)存儲到數(shù)據(jù)庫后,以自產(chǎn)自銷JMQ的形式推送訂單數(shù)據(jù)到ES和緩存系統(tǒng)以輕量化存儲過程,減少多級存儲間耦合又能夠均衡集群負(fù)載。

多級搜索

作為數(shù)據(jù)管道出口,訂單網(wǎng)關(guān)系統(tǒng)(GW)對外提供了可定制模版數(shù)據(jù)或消息數(shù)據(jù)訂閱、數(shù)據(jù)分頁查詢、訂單搜索統(tǒng)計等服務(wù),是對接數(shù)據(jù)應(yīng)用的關(guān)鍵環(huán)節(jié)。網(wǎng)關(guān)系統(tǒng)實(shí)現(xiàn)了非常完備且強(qiáng)悍的多級平滑搜索過程,當(dāng)訂單搜索超時或失敗時立刻跳轉(zhuǎn)到下級搜索,降級搜索的結(jié)果反補(bǔ)上級數(shù)據(jù)源;如果虛擬訂單中心檢索失敗,搜索會落地到產(chǎn)品線數(shù)據(jù)庫做最終檢索,檢索成功則會反補(bǔ)該訂單到訂單中心的各級存儲中,檢索失敗則必然是單號有誤;當(dāng)虛擬訂單服務(wù)完全不可用時,網(wǎng)關(guān)搜索將直接降級到原產(chǎn)品線生產(chǎn)數(shù)據(jù)庫拉取訂單數(shù)據(jù)。多級檢索方案,保證最完善的用戶體驗(yàn)!

如今,歷經(jīng)兩次技術(shù)版本演進(jìn)和多次618、雙十一大促考驗(yàn)的虛擬訂單中心,接入的虛擬業(yè)務(wù)達(dá)30+,穩(wěn)定承載了虛擬平臺的核心訂單數(shù)據(jù),累計訂單數(shù)據(jù)已近10億,并不斷挑戰(zhàn)新高,正逐漸成為虛擬商品以及其他非標(biāo)準(zhǔn)商品融入京東電商主體系的重要通道。

【本文是51CTO專欄作者“張開濤”的原創(chuàng)文章,作者微信公眾號:開濤的博客( kaitao-1234567)】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2022-11-30 07:58:10

支付業(yè)務(wù)系統(tǒng)分庫分表

2017-12-12 08:40:00

2015-11-13 10:25:04

京東商品搜索架構(gòu)

2023-07-17 18:39:27

業(yè)務(wù)系統(tǒng)架構(gòu)

2012-06-07 10:35:40

架構(gòu)設(shè)計業(yè)務(wù)邏輯Java

2012-05-30 09:43:45

業(yè)務(wù)邏輯層

2023-07-05 08:00:52

MetrAuto系統(tǒng)架構(gòu)

2022-03-11 21:35:57

Java程序線程

2020-02-14 14:13:13

架構(gòu)運(yùn)維技術(shù)

2021-09-06 14:52:17

MySQL存儲架構(gòu)

2022-07-22 10:09:28

架構(gòu)設(shè)計

2022-07-26 12:33:38

架構(gòu)設(shè)計場景

2014-05-19 10:08:36

IM系統(tǒng)架構(gòu)設(shè)計

2024-06-18 08:07:50

存儲架構(gòu)設(shè)計

2025-01-13 00:24:49

2021-08-02 08:05:05

系統(tǒng)訂單 Python

2013-05-27 10:58:28

Tumblr架構(gòu)設(shè)計雅虎收購

2023-08-16 12:34:16

同步備份異步備份

2024-08-16 14:01:00

2024-10-17 08:26:53

ELKmongodb方案
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 精品美女 | 亚洲资源在线 | 日韩成人在线网站 | 久久性色 | 欧美人妇做爰xxxⅹ性高电影 | 欧美激情一区二区三区 | 国产精品视频免费看 | 国产亚洲精品久久久久久牛牛 | 久久精品国产一区二区电影 | 日韩在线免费 | 久草色视频| 国产无人区一区二区三区 | 亚洲丝袜天堂 | 亚洲精品久久久一区二区三区 | 午夜伦4480yy私人影院 | 久久精品视频网站 | 少妇诱惑av | 久久99精品久久久久蜜桃tv | 成人免费片| 国产欧美一区二区三区久久人妖 | 91视频亚洲 | 91影院| 日韩欧美一区二区三区免费观看 | 欧美亚洲在线视频 | 91视频在线看| 欧美成视频 | 91av久久久| 激情a| 欧美日韩在线播放 | 亚洲视频区 | 免费在线观看成人av | 日韩免费成人av | 国产一区二区在线视频 | 99精品欧美一区二区蜜桃免费 | 欧美日韩在线综合 | 国产98色在线 | 日韩 | 日本三级网站在线观看 | 精品96久久久久久中文字幕无 | 天天曰天天干 | 亚洲一区精品视频 | 91麻豆精品国产91久久久久久 |