亚洲AV无码欧洲AV无码网站_国产精品视频色_大地资源网更新免费播放视频_私人影院性盈盈影院_久久99精品久久久久久236_最新亚洲人成无码网站

MongoDB在跨境電商物流供應鏈系統(tǒng)中的實踐

來源:IT大咖說 | 2018-02-05 09:59

  內(nèi)容來源:2017年4月22日,貝法易集團技術部總監(jiān)黃亮在“2017年MongoDB中文社區(qū)深圳用戶組大會”進行《MongoDB在跨境電商物流供應鏈系統(tǒng)中的實踐》演講分享。IT 大咖說作為獨家視頻合作方,經(jīng)主辦方和講者審閱授權發(fā)布。

  閱讀字數(shù):2896 | 4分鐘閱讀

  

MongoDB在跨境電商物流供應鏈系統(tǒng)中的實踐


  摘要

  本次介紹下出口易跨境電商物流供應鏈系統(tǒng)從單體應用過渡到面向服務的分布式系統(tǒng)架構(gòu)的過程中,遇到的一些挑戰(zhàn)和實現(xiàn)。其中包括了基于MongoDB建模和數(shù)據(jù)持久化方面上具體實踐。

  嘉賓演講視頻回顧及PPT:http://t.cn/R82rZLw

  關于出口易物流

  出口易物流是廣州市貝法易商貿(mào)有限公司(簡稱貝法易)旗下,以全球倉儲為核心,整合全球物流網(wǎng)絡系統(tǒng),為跨境電商賣家提供海外倉儲、國際專線、國際小包、國際快遞、FBA頭程等物流服務以及本地化售前售后服務,解決訂單管理、金融融資難題。我們不是物流的供應商,我們是跨境電商全程物流解決方案提供商。

  我們公司的重資產(chǎn)是人員,我們了解跨境電商物流,包括跨境電商通關的環(huán)節(jié)、關于物流方面的國際法律以及離境品的相關信息,這些都是我們公司最寶貴的資源。

  我們公司底下有一大群長期合作的供應商,這是我們最大的優(yōu)勢。我們的難點也是在于這些供應商是不可控的,因為我們是在使用別人家的服務。

  所以除了訂單系統(tǒng)還有一個很重要的資產(chǎn)就是我們自營的海外倉儲,這也是我們最核心的價值。

  覆蓋歐美澳主要市場的服務網(wǎng)絡

  

MongoDB在跨境電商物流供應鏈系統(tǒng)中的實踐


  上圖是我們?nèi)虿季值奈锪骶W(wǎng)絡。這些倉儲有大有小,英國倉庫是我們最核心的倉庫。截至2017年,在國內(nèi)我們一共有八個倉儲中心,重點的是在深圳、廣州和上海。

  全球主流電商平臺重點推薦物流服務提供商

  我們合作的平臺推薦我們的物流服務提供商有Amazon、ebay、wish、阿里國際、shopee、AliExpress還有LAZADA。

  出口易新老架構(gòu)演變過程

  

MongoDB在跨境電商物流供應鏈系統(tǒng)中的實踐


  我們之前的系統(tǒng)是上圖左邊的架構(gòu),針對商家第三方的ERP和一些商家自己研發(fā)的一套系統(tǒng),還有一些平臺跟我們的系統(tǒng)都是有直接交互。有的是通過出口易提供了一套UI來進行訪問,還有就是大量的線上發(fā)貨,我們會采用API來進行接入。我們后臺有admin管理后臺,還有單獨的一塊WMS系統(tǒng)。

  我們認為這個系統(tǒng)有些過于龐大,想做一些調(diào)整。新的架構(gòu)大部分還是沒有改動,只是在后端針對admin的系統(tǒng)想要往面向服務架構(gòu)方向落地。基于業(yè)務場景的切分有兩塊,一塊是基于通用服務,比如說用戶的認證和授權,還有就是日志。

  支付有一些支付網(wǎng)關,有和paypal、alipay、payoneer還有銀行的接口。

  下面是我們業(yè)務最主要模塊,包括產(chǎn)品報價、客戶關系管理系統(tǒng),還有訂單、物流網(wǎng)絡和運輸,包括WMS、支付、物流軌跡跟蹤、供應商管理系統(tǒng),還有結(jié)算報表等等諸如此類。

  出口易老業(yè)務系統(tǒng)特點

  單體應用:前后端系統(tǒng)共用一套WEB App Solution。

  單一數(shù)據(jù)庫:采用MS SQLServer 數(shù)據(jù)庫,核心業(yè)務功能共用一個數(shù)據(jù)庫。

  業(yè)務功能完整:IT系統(tǒng)隨業(yè)務的發(fā)展不斷擴展新功能。滿足開展跨境電商物流業(yè)務最基本的功能性需求。

  容易測試和部署:單獨一個Solution,系統(tǒng)依賴少,一旦部署,全部功能即可測試。

  出口易老業(yè)務系統(tǒng)不足

  不夠靈活:對應用程序做任何細微的修改都需要將整個應用程序重新構(gòu)建、重新部署。

  妨礙持續(xù)交付:系統(tǒng)規(guī)模大,構(gòu)建和部署時間也相應地比較長,不利于頻繁部署,阻礙持續(xù)交付。

  受技術棧限制:包括開發(fā)語言,開發(fā)工具,數(shù)據(jù)庫一旦選定,無法根據(jù)實際需要作其他選擇。

  技術負債:系統(tǒng)邏輯異常復雜,隨著時間推移,人員更迭,技術負債不斷累積。

  出口易新業(yè)務系統(tǒng)特點

  面向服務:根據(jù)業(yè)務模塊切分不同的系統(tǒng)模塊,系統(tǒng)模塊采用面向服務架構(gòu)。服務與服務通過明確的接口定義進行通訊。

  領域驅(qū)動設計:每個業(yè)務模塊團隊負責一個領域或業(yè)務功能相關的全部開發(fā)。核心領域根據(jù)DDD中明確定義的規(guī)則實現(xiàn)。

  獨立部署、升級、擴展和替換:每個服務可以單獨部署,透明升級,不影響整個系統(tǒng)。

  異構(gòu)/采用多種語言:每個服務開發(fā)團隊,可以選擇自己熟悉開發(fā)語言,數(shù)據(jù)庫,開發(fā)工具和開發(fā)架構(gòu)。

  新架構(gòu)落地的切入點

  身份認證:每個服務都需要統(tǒng)一的登錄認證。

  鑒權:不同的用戶使用相同的服務模塊都需要鑒權。

  

MongoDB在跨境電商物流供應鏈系統(tǒng)中的實踐


  由單點登錄的頁面包括基于OAuth2 API這樣的方式來接入。內(nèi)部采用的是DDD這樣的一個邏輯架構(gòu),包括應用層、領域?qū)印nI域?qū)永锩嬗职祟I域模型、實體子對象、領域服務、領域事件和查詢的規(guī)格。

  

MongoDB在跨境電商物流供應鏈系統(tǒng)中的實踐


  基于倉儲,要存一個訂單,必須連接實體和子對象一起存儲刷新到數(shù)據(jù)庫。

  我們做應用的時候更偏向于完成業(yè)務,所以選用了mangoDB。我們有一套自己的架構(gòu),在封裝的過程中就會把mangoDB做一層封裝。

  上圖中面向切面的架構(gòu)包括了exertion、loading和cache等切面。

  

MongoDB在跨境電商物流供應鏈系統(tǒng)中的實踐


  上圖是TMS系統(tǒng)調(diào)撥單聚合根示意圖,它包括了物流軌跡的集合、預計到貨時間等信息,還有這些調(diào)撥單歷經(jīng)的節(jié)點信息。

  為什么選擇MongoDB?

  1、非事務緊密型。錯誤數(shù)據(jù)容忍性相對比較高。

  2、團隊成員有使用MongoDB開發(fā)經(jīng)驗。對基于MongoDB方面的建模需要考慮的必要冗余有一定的了解。

  3、Portal 模塊數(shù)據(jù)庫讀大于寫,基于MongoDB讀寫方面的高性能,解決了高并發(fā)下系統(tǒng)卡頓問題。

  4、TMS 系統(tǒng)模型之間關系復雜,采用傳統(tǒng)關系數(shù)據(jù)庫,勢必增加一堆表。采用MongoDB,可以把復雜的模型,通過一個Doucment存儲到一起。

  基于MongoDB開發(fā)需要注意的問題

  集合之間不能Join,建模方面要特別注意。建議增加必要的冗余,減少二次查詢。

  僅僅支持單個Document級別事務。數(shù)據(jù)一致性錯誤時,要考慮增加必要數(shù)據(jù)監(jiān)控和數(shù)據(jù)修復功能。

  聚合查詢,需要通過MongoDB 聚合管道方式查詢,MongoDB C# 驅(qū)動提供了良好支持,但是相對Linq查詢還是比較繁瑣。

  基于MongoDB的持久化實現(xiàn)

  一、倉儲Repository

  倉儲限定在對整個聚合根的操作上,提供聚合根的持久化和重建或查詢。

  二、倉儲上下文Repository Context

  負責事務處理。每個聚合根的倉儲都會關聯(lián)到同一個倉庫上下文。但是MongoDB 不支持事務,我們提供了虛擬實現(xiàn)。倉儲上下文應用了工作單元模式。

  

MongoDB在跨境電商物流供應鏈系統(tǒng)中的實踐


  一些關注點

  一、領域模型采用POCO(POJO)

  簡單的CLR對象(簡單的Java對象),不繼承任何持久化框架中的基類,或?qū)崿F(xiàn)任何持久化框架中的接口。領域?qū)硬灰肕ongoDB類庫。MongoDB倉庫層使用lambda expression 實現(xiàn)類的Map。

  二、ID 生成器

  有多種ID生成器可供選擇。GuidGenerator,OjbectIdGenerator,String OjbectIdGenerator,etc。我們ID一律使用String類型。所以直接使用MongoDB的StringObjectIdGenerator。

  三、多態(tài)類的Map

  如果把多態(tài)類(繼承)映射到MongoDB,需要指定已知類型。

  

MongoDB在跨境電商物流供應鏈系統(tǒng)中的實踐


  四、一些需要了解的約定

  NamedIdMemberConvention可以指定類的哪些屬性可以作為ID。

  IgnoreExtraElementsConvention可以忽略Document中不存在于類中的字段,否則會拋出異常。

  EnumRepresentationConvention可以指定枚舉序列化的方式,我們都指定為BsonType.String。

  MongoDB聚合框架(C#)

  一、聚合框架

  MongoDB2.2版本引入了此功能,是數(shù)據(jù)聚合的一個新框架。

  這個框架一是對文檔進行“過濾”,也就是篩選出符合條件的文檔;二是對文檔進行“變換”,也就是改變文檔的輸出形式。其他的也包括按照某個指定字段分組和排序等。

  它其實是MapReduce的替代方案,但比MapReduce簡單。

  該框架使用聲明性管道符號來支持類似SQL 中的Group by 操作的功能。不需要自己編寫自定義的JavaScript。

  二、管道操作符

  $project:數(shù)據(jù)投影,主要用于重命名、增加和刪除字段。

  $match:過濾操作,篩選符合條件文檔,作為下一階段的輸入。

  $limit:限制經(jīng)過管道的文檔數(shù)量。

  $skip:從待操作集合開始的位置跳過文檔的數(shù)目。

  $unwind:將數(shù)組元素拆分為獨立字段。

  $group:對數(shù)據(jù)進行分組。

  $sort:對文檔按照指定字段排序。

  $geoNear:會返回一些坐標值,這些值以按照距離指定點距離由近到遠進行排序。這個在地理信息系統(tǒng)中比較常用。

  

MongoDB在跨境電商物流供應鏈系統(tǒng)中的實踐


  

MongoDB在跨境電商物流供應鏈系統(tǒng)中的實踐


  總結(jié)

  對于大多數(shù)的聚合操作,聚合管道可以提供很好的性能和一致的接口。

  使用起來比較簡單,和MapReduce一樣,它也可以作用于分片集合。

  輸出的結(jié)果只能保留在一個文檔中,要遵守BSON Document大小限制(當前是16M)。

  管道對數(shù)據(jù)的類型和結(jié)果的大小會有一些限制,對于一些簡單的固定的。

  聚集操作可以使用管道,但是對于一些復雜的、大量數(shù)據(jù)集的聚合任務還是使用MapReduce。

  今天的分享就到這里,謝謝大家!


【聲明】物流產(chǎn)品網(wǎng)轉(zhuǎn)載本文目的在于傳遞信息,并不代表贊同其觀點或?qū)φ鎸嵭载撠煟锪鳟a(chǎn)品網(wǎng)倡導尊重與保護知識產(chǎn)權。如發(fā)現(xiàn)文章存在版權問題,煩請聯(lián)系小編電話:010-82387008,我們將及時進行處理。

10秒快速發(fā)布需求

讓物流專家來找您

主站蜘蛛池模板: 久久久久亚洲AV无码专区首JN_91久久精品国产91久久_在线www免费观看视频_五月丁香好婷婷开心网_人妻中文字幕无码系列_使劲快高潮了国语对白在线_亚洲免费综合_9999在线 | 看全色黄大色黄女片_亚洲欧洲日产国码综合在线_99精品自产国偷产在线_国精品**一区二区三区在线蜜桃_亚洲91p_欧美日韩在线精品_538久久_欧美国产精品久久久久久免费 | 看免费黄色大片_素人天堂_www中文在线观看_亚洲视频在线网站_丰满的熟女爽死你视频_麻豆免费视频观看_av片免费看_久久无码中文字幕免费影院蜜桃 | 中文字幕视频在线免费观看_欧美黑人巨大久久久精品一区小蓝_欧洲日韩一区二区_精品久久久久久中文字国产_18禁免费无码无遮网站国产_手机色网_啪免费视频_欧洲国产精品精华液 | 永久免费毛片_无码制服丝袜人妻一在线视频_给我播放的视频在线观看_四房播色综合久久婷婷_一区二区成人网_亚洲图色在线_国产网站久久_猫咪AV成人永久网站 | 日韩中文字幕第5页在线_柠檬av导航_无码中文精品专区一区二区_狠狠色丁香久久婷婷综合_中_国产成人永久免费公开视频_国产精品二区不卡_制服亚洲日韩丝袜欧美_秀人顶级模特尤妮丝的最新视频 | 91香蕉麻豆_亚洲精品午夜久久久_黄上黄在线观看_亚洲视频网站在线观看_亚洲成人av中文字幕_7788色淫免费视频_亚洲一区久久久_99热国产在线 | 欧洲亚洲免费视频_99久久久久久久_91综合网站_在线观看国产h_亚州国产_欧洲久久久久_国产精品毛片一区_欧美白丰满老太aaa片 | 久久久久影院美女国产主播_无套中出丰满人妻无码_亚洲中文字幕无码一久久区_国产亚洲精品精品精品_91沈先生在线观看高清_裸体美女扒尿口喷白浆_免费h片在线_伊人色综合一区二区三区影院视频 | 成人黄色免费视频网站_网友自拍视频在线_日日操夜夜爽_成人动漫综合网_国产又粗又猛又爽又黄的视频软件_久草视频中文在线_中文字幕在线国产_欧美日韩国产一二 | 免费观看呢日本天堂视频_999久久国精品免费观看网站_少妇高潮a片无套内谢麻豆传_欧美在线一二_亚洲视频一级片_亚洲中文字幕无码超碰_各种高潮videos抽搐合集免费_麻豆出品必是精品 | caoporn97在线视频_四虎影视在线看免费完整_久草视频在线首页_97在线超碰_色吧久久_日韩不卡在线视频_eeuss鲁片一区二区三区69_小强精品辣文小说网 | 亚洲国产久_人人插人人舔_日韩无线码精品中文字幕视频手机_麻豆做爰免费观看_亚洲无码动漫一区_亚洲精品主播自拍_成人免费网站_伦理2男一女3p黑人 | 热99欧美_欧美熟妇性XXXXX_日本大逼_久久婷婷五月综合色高清_日韩精品亚洲精品第一页_午夜久久久久久_黄色一级大片在线观看_av最新网 | 逼特视频_成人精品视频_国产黄片自拍亚洲AV_ww亚洲ww亚在线观看_国产亚洲AV无码AV男人的天堂_亚洲成色av网站午夜影视_2020国产成人精品视频_久热操视频 | 直接看的Av网站免费观看_精品欧美国产一区二区三区_成人黄网站片免费视频_老司机精品视频免费观看_亚洲aⅴ欧洲av国产综合图片_天天色操_久久久国产精品女同三区_日本卡一卡2卡三卡4乱卡乱码 | 狠狠色噜噜狠狠狠狠888奇米_日本翁妇免费视频_欧美乱码伦视频免费_久久久噜噜噜久久久精品_97中文字幕第20页_亚洲最色网_国产精品一级片_野外一级片 | 国产潢片AAAAAAAAA免费_天天干天天操天天操_日韩在线播放一区二区_国产日韩大片_很黄很黄的曰批视频_成人精品国产亚洲_国产麻豆一区二区三区精品_1—42集免费观看 | 亚洲欧美高清_被猛男伦流澡到高潮h麻豆_欧美人成在线观看ccc36_91亚洲福利视频_国产区91_免费日韩网站_玖玖精品视频_免看一级a毛片一片成人不卡 | 国产在线一区二区三区在线_日韩国产精品一区_5566在线视频_不卡亚洲_无码人妻丰满熟妇区五十路百度_xxxxx性开放_法国性迷宫_日韩中文字幕在线不卡 | 永久av在线免费观看_后入内射国产一区二区_国产xxxxx精品av青椒_国产网红福利视频一区二区_成人福利在线播放_99视频_国产精品一区二区在线观看99_97视频一二区 | 色接久久_欧亚乱熟女一区二区三区在线_激情综合色五月六月婷婷_18无码粉嫩小泬无套在线观看_h视频免费_成·人免费午夜视频_天堂网在线最新版www_79年熟女大胆露脸啪啪对白P | JAPAN日本人妻熟老太_欧美成人精品第一区二区三区_国产不卡在线_日日日操_国产精品久久a_日本成人在线网_爆乳护士一区二区三区在线播放_色综合视频一区中文字幕 | 做爰全过程免费120秒_黄色片子在线观看_国产三级久久久久_国产精品久久777777_女明星黄网站色视频免费国产_国产精品爆乳奶水无码视频免费_久久免费看少妇高潮A片麻豆_hi6你好星期六免费观看 | 最近免费中文字幕在线视频2_国产又粗又猛又黄又爽无遮挡_在线播放国产不卡免费视频_国产精品久久久久影视_国产女厕所盗摄老师厕所嘘嘘_国产AV夜夜欢一区二区三区_99国产精品一区二区_国产精品亚洲精品久久精品 | 精品久久久久久亚洲综合网_久爱视频精品_亚洲夜色_成+人+网+站+免费观看_亚洲av成人永久无在线观看_性色一区_又湿又紧又大又爽A视频国产_日本SM极度另类视频 | 久久精品人妻中文系列_国产又爽又大又黄A片图片_久久久久久久影视_欧美一区二区三区成人精品_欧美精品一区二区三区久久_亚洲精品91天天久久人人_91视视频在线观看入口直接观看_老妇xxxxx | 国产精品人妻无码免费久久久_伊人久久无码大香线蕉综合6_国内外在线视频成人_AV在线网址免费观看不卡_www.5588.com毛片_女人高潮被爽到呻吟在线观看_蜜桃视频一区二区在线观看_日本三区在线观看 | 亚洲欧美中文在线视频_国产的毛片_老司机av福利_久久伊人免费视频_无码毛片一级高潮免费视频_精品欧美久久久_亚洲第一狼人天堂久久_精品区2区3区4区产品乱码9 | 玖玖国产_亚洲va天堂va在线va欧美_久久狠狠亚洲综合_中文字幕精品亚洲无线码二区_黄色一级片中国_九九视频精品视频在线观看视频_色香久久_伦xxxx在线 | 台湾无码一区二区_中国黄色毛片视频_日本国产在线观看_黄色片毛片_神马视频在线观看_欧美日韩在线看_一本大道久久精品懂色aⅴ_午夜影片 | 中文字幕制服丝袜一区二区_午夜香港三级A三级三点_夜夜躁狠狠躁日日躁欧美_91九色丨porny最新地址_黄色片网站免费看_最新Av中文字幕无码专区_久久伊人一区_在线小视频你懂的 | 国产女合集_一级黄色靠逼_国产成人精品午夜福利在线播放_人成免费视频人成免费网_亚洲第一中文字幕在线_无码国模国产在线观看_一区网站在线观看_国产亚洲精品成人av久久ww | 小娇孩性freesexhd_91精品夜夜_日韩AV高潮喷水在线观看_亚洲精品欧洲_男人猛躁进女人免费视频夜月_一区二区三_欧美日本性视频_亚洲av日韩av无码尤物 | 亚洲不乱码卡一卡二卡4卡5_亚洲va中文字幕_免费观看黄色毛片_在线观看中文字幕码_操av在线_午夜福利理论片高清在线观看_国产精品伦视频观看免费_成人亚洲一区二区一 | 国产精品99久久99久久久_欧美韩日精品_久久的久久爽亚洲精品aⅴ_善良的人妻被水电工侵犯_国产精品亚洲产品一区二区三区_日本欧美一区二区三区在线观看_久久久久国产亚洲AV麻豆_中国一级簧片 | 欧美城网站地址_99热超碰在线_一区二区三区在线免费播放_激情自拍网_亚洲国产精品午夜伦不卡_久久久精品中文_精品国产一区二区三区国产区_成年人在线免费视频观看 | 黄色特级片_国产乱人伦精品一区二区_毛片一区二区三区_一级做a爱片久久_亚洲精品乱码久久久久久按摩观_久久久久久久国产精品影院_caoporn国产_全球AV集中精品导航福利 国产乱码久久久久_亚洲欧洲日韩国内高清_久99久在线观看_97中文字幕第二十二页_熟女熟妇人妻在线视频_成年女人色毛片_一区二区三区片_国产成人A亚洲精V品无码 | 91视频国产免费_国产成人亚洲精品无码车A_日本久久久久久科技有限公司_91精品国产91久久久_精品无人区卡卡卡卡卡二卡三乱码_亚洲国产精品人人爽夜夜爽_精品国产精品亚洲一本大道_99精品久久毛片a片 | 人妻丰满熟妇av无码区hd_欧美另类一二三四_国产激情二区_欧美日韩一区二区在线播放_被公侵犯人妻一区二区三区_AB无码精品一区二区三区人妖_亚洲国产精品成人AV在线_97久久人人超碰国产精品 | 97人人爱_日本高清在线一区二区三区_JAVAPARSERHD高潮_CHINESE国产AV巨作VIDEOS_一级国产aa片免费观看_特级黄色片视频_欧美丰满熟妇xxxx性ppx人_日本老师xxxx18学生 |