「大促」背後的技術 | 當咱們說促銷的時候,咱們在談什麼?

圖片描述

clipboard.png

活動概要算法

在零售創新的趨勢影響下,恰逢一年一度618來臨之際,在高頻、高額、高密度的交易場景下,如何能爲用戶提供穩定而流暢的購物流程?如何作到經過技術創新打造品牌和合做商的基礎設施服務商呢?數據庫


在剛剛結束的京東雲技術沙龍上海站活動中,多位京東的技術大咖與開發者面對面就零售業以及社交電商方面的核心技術以及成功解決方案進行了深刻探討。後端

clipboard.png/11

沙龍現場座無虛席安全

現場百餘位開發者熱情參與了交流與互動,尤爲對「大促」下的數據庫服務、企業級監控的設計與實踐、社交電商的方方面面以及區塊鏈的智能化溯源等諸多技術領域十分關注。服務器

咱們將沙龍中的部份內容整理、總結後放到了本文中,但願也能給相關的從業者們提供參考。(公衆號回覆「PPT0526」可獲取沙龍視頻&PPT)微信

京東數據庫服務如何應對「大促活動」?

京東雲產品研發部高級總監 郭理靖網絡

衆所周知,京東商城業務繁多,不少業務在研發設計初期並不想選用太多種類的數據庫,由於並不知道着手的業務規模大小,因此開始選擇只使用MySQL是最簡單的,基於研發的速度考慮有時候還選擇寫入日誌和大字段數據。隨着數據積累量增多,用戶規模擴大,將來會涉及數據切換的問題。所以,對於這些「後來居上」的業務,仍是要進行一些數據架構優化的工做。架構

京東雲數據庫「上馬」了一些彈性數據庫服務,能夠作到在一臺物理服務器上同時配置多個數據庫,將單機利用率提高到比較高的水平;同時配置的靈活調度系統,可以在兩個數據庫之間完成對壓力不大的數據庫數據遷移,能幫助客戶有效地進行成本控制。另外,在使用MySQL的基礎上,性能不可避免地受限於機器,京東商城內部還使用Jproxy這類分佈式數據庫服務。郭理靖表示,在京東商城的實踐中,針對線上系統選擇構建兩個機房,分別是生產環境以及在災備環境。框架

clipboard.png

關於智能分析,京東雲在助力電商的過程當中,一方面着手SQL日誌分析以及容量分析,例如鏈接數是否是一直在增加、IO壓力、CP壓力等;同時也嘗試作一些故障自愈以及磁盤清理等。運維

在「京東雲的服務實踐」方面,在雲端提供豐富的數據庫服務,例如MySQL、Percona、MariaDB、SQL Server、MongoDB等。從京東雲的統計角度來看,國內開發者使用MySQL能夠高達95%,另外5%會使用Percona或者MarinDB。

clipboard.png

從海外的調研數據來看,海外數據庫用戶大約80%以上用戶都在用MySQL,而20%如下的用戶會選擇用MariaDB和Percona,之因此這有麼大的差距,緣由可能在官方在國內外的宣傳力度上明顯的區別的緣由。另外京東雲還在安全、審計、日誌等諸多方面提供了豐富的功能,另外還提供了Binlog備份和下載。

clipboard.png

在監控引擎方面,京東雲的嘗試也是比較細緻的,其中包括監控服務、報警服務等。值得說起的是,其中全部監控項均可以設置規則,好比CPU內存超過70%,就能夠設置一個短信報警,而其中全部的指標都是對接到雲監控系統。「咱們也支持只讀實例建立,須要只讀最大支持建立8個只讀實例,每一個只讀實例都分配一個獨立域名,均可以用域名進行訪問。」他補充道。

clipboard.png

談及數據運維,如何作到故障自動切換?京東云爲此設計了比較完善的自動化系統。起初都是手動切換,選擇這樣的切換方式主要是擔憂誤切的狀況發生,畢竟不少服務經過域名連接數據庫,而域名的切換會形成一些延時,時間太長又是服務不可接受的。如今數據庫的故障都已經進化到自動切換了。

clipboard.png

數據安全性方面,採用了雲硬盤加密的功能,對於用戶擔憂的數據庫信息「被偷窺」的問題,只要啓動了數據加密的功能,使用雲端RDS就能夠充分放心享受其安全保障的服務。對於哪些IP能夠訪問特定的數據庫這個事兒,靈活設置白名單便可。

重點強調的一點,在京東雲數據庫服務中還涉及到DRDS,所謂DRDS是分佈式關係型數據庫,追溯本源是將京東商城上的Jproxy技術移植到京東雲上,主要做用仍是在數據量特別大的狀況下,單機沒法支撐的前提下完成分庫分表,操控起來比較便捷。

DRDS服務主要解決了如下幾個困難:
一、隨着數據量和訪問量的增加,單機數據庫會遇到很大的挑戰,依賴硬件升級並不能徹底解決問題,也就是單機數據庫容量瓶頸亟需被重視;
二、傳統數據庫容量擴展每每意味着服務中斷,很難作到業務無感知或者少感知等,被認爲是擴展窘境;
三、更重要的一點,傳統數據庫使用成本較高,當業務數據訪問量增長到必定程度時,傳統數據庫須要依賴特定的高端存儲和小型機設備,對於用戶而言,成本較高。但DRDS的使用,剛好就是能夠有效地幫客戶進行成本控制。

clipboard.png

具體來講,DRDS服務提供中間件,例如針對用戶表,能夠將用戶表中的ID進行拆分。當須要查詢用戶時,並不須要修改SQL語句,DRDS會去解析語句,發現訪問的用戶數據表,用戶ID等信息,其實DRDS起到的做用就是解析SQL語句、分發SQL語句以及彙總SQL語句給用戶端,方便用戶能夠更多聚焦本身的業務邏輯開發等,同時有效提升整個性能。

同時,DRDS能夠作到多臺部署,但值得注意的一點,整個DRDS系統性能受限於後端實例數量。簡單來講後端的實例量越多,DRDS的性能越好。經過實測,DRDS中間件給SQL帶來的延遲是很是低的,DRDS對SQL語句的解析速度進行了專門的優化 ,所以因中間件帶來的延遲基本也均可以忽略不計了。

DRDS自己不存儲數據,數據存放在後端的RDS MySQL 數據庫上。爲保障系統穩定性,每一個分庫所在的MySQL版本必須一致。DRDS會在每一個RDS實例上建立8個分庫,另外還會單首創建0號分庫,用於存放非拆分數據。

系統的最大處理能力取決於分庫的數量,所以在須要建立以後就應該規劃好整個系統的容量以及能力,比較好的作法是根據初步的規劃,前期使用小規格的MySQL實例,但足夠多的分庫數,這樣就能夠預留出足夠的擴容能力。

在技術分享中,郭理靖還系統介紹了擴容的方方面面,例如兩核4G的DRDS,性能相對較小,若是將後端RDS升級到更高配置,就被稱爲是垂直擴容,操做起來十分容易。不管是水平擴容仍是垂直擴容,儘管具體的操做方法不一樣,但過程平滑且隨時隨地都是共通的。

clipboard.png

儘管DRDS 與傳統的單機數據庫相比,在擴展性上有了巨大的提高,但同時也帶來了一些限制,例如可保證同一個分庫中的事務一致性,但不支持分佈式事務;只支持單個分庫內的join操做,不支持跨庫的join;只支持UTF8字符集,所以並非任何基於MySQL的應用均可以無疑遷移到DRDS上,還須要進行一些改造。

企業級監控系統設計與實踐

京東雲產品研發部總監 鄭永寬

做爲本場沙龍的第二位分享嘉賓,京東雲產品研發部總監鄭永寬爲開發者們現場帶來了主題爲「企業級監控系統設計與實踐」的技術演講。

監控是什麼?監控是運維生命線。
監控解決什麼問題?遠遠不止發現問題!
監控還須要解決發現問題之後的定位,和定位後的止損,從而下降故障MTTR,即故障平均恢復時間。像京東這樣的大致量電商,若是發生不明緣由的宕機所致使的損失是十分慘重的。爲了高效解決下降故障恢復時間的問題,在故障發生以前提早作好相應故障的恢復預案;在故障發生以後明確故障類型而且準肯定位故障,是很是有效的手段。

爲了解決快速響應的問題,監控系統一般須要具有豐富的數據採集手段、多維度數據實時聚合計算、準確的異常檢測、及時的告警通知、可定製的dashbord、根因定位與輔助決策推薦,以及預案平臺等功能,經過以上功能實現快速止損、業務高可用/可擴展等目標。

根據以上功能定位,京東雲會針對每一個系統不一樣的業務特徵,提供故障恢復預案推薦,用以來保證系統的高效運轉;對於監控系統來講,不管是發現問題、定位問題仍是解決問題,瞭解其中循環迭代的系統狀態十分重要,京東雲的監控平臺根據豐富的監控手段可提供可靠有效的系統運維狀況反饋,同時基於監控數據和業務分析進行多樣化的預案推薦,幫助業務快速恢復。

clipboard.png

具體來講,咱們首先定義了一套統一的監控標準:即監控須要覆蓋基礎-存活-性能-業務四個層面,從而保證了採集數據的全面,進而避免監控遺漏。即基礎監控涵蓋了機器的基本指標,好比cpu、內存、硬盤等;存活監控則聚焦機器和服務進程的存活性;性能監控關注服務對外表現的性能指標,好比PV、平響、錯誤碼等;業務監控則是從用戶角度,監控系統是否提供正常服務。進一步,根據不一樣的報警,咱們能夠定位到相應的問題,再輔以對應的預案平臺,從而確保了故障第一時間定位與恢復。

clipboard.png

監控系統須要保證數據採集手段豐富化、計算聚合多樣化、存儲高效化以及數據展現有效化等幾個方面。其中數據的存儲以及數據可視化展現等是監控系統最基礎的需求,無論多龐大的運維繫統都是如此。

京東雲採用多種採集方式,包括Agent採集,API推送,外部探測點。經過遍及全國的探測點,能夠模擬發起各類協議的訪問,同時提供API推送接口,支持用戶本身發送數據過來,能夠進一步展現用戶須要的數據。另外咱們自研的tsdb時序數據存儲,採用基於Cassandra+自研cache+esmeta的方案,咱們將最近3h的數據存入自研cache,增長了查詢的時效性和可靠性。其中自研cache基於的Facebook論文gorilla實現,追求極致的壓縮比。經過這些手段,存儲的空間能夠下降到1/10,同時保證了查詢性能。

另外京東雲的監控CMDB表現出色。首先CMDB能夠將資源和業務同時管理起來,這是監控CMDB解決的第一個問題;另外一方面,大規模集羣中的某臺機器發生問題後,經過JNS名字服務能夠迅速定位受影響的業務,並基於CMDB提供業務/應用/集羣的監控配置推薦,這是監控CMDB重點突出的地方。

題,鄭永寬總結道,首先監控可視化是關鍵一環,多維度的聚合計算使數據更有意義,這是基於京東雲多年的運維經驗總結獲得的。京東雲的監控體系能夠定位多種故障緣由,例如某一業務是否有變動,是否配有相應的報警,網絡等資源是否異常,是哪一個業務出現的問題等……經過以上方面的監控,咱們能夠知道某一業務的故障恢復操做的執行狀況,此方式對故障快速定位以及查找故障來源很是有效。基於以上確認故障緣由的能力,京東雲快速迭代升級開發了變動可視化產品,對可能致使故障發生的全部問題來源進行事件監控,從上線操做、配置變動的單任務監控到平臺全局事件的監控,進一步助力京東雲監控體系定位問題能力的提高。

clipboard.png

問題定位後,爲使用戶接收到有意義的報警進而快速回復問題,咱們對異常問題進行分析合併,京東雲支持各類策略的合併,可按照固定接收人報警、不一樣業務範圍報警、固定時間報警等策略進行報警,減小告警風暴,另外對於通知下游的對接,咱們實現了郵件、短信、微信、電話等多種方式報警。

將來京東雲還會着手配置化管理功能的優化,更好支持事件自動恢復。「結合監控CMDB和報警設置,咱們能夠真正把故障和報警聯動起來,對於相關的報警事件,監控系統能夠自動調取對應的預案,從而達到系統的故障自愈的目標。」

社交電商SaaS產品技術架構

京東雲應用研發部社交電商負責人 趙金勇

從整個電商發展來看能夠被總結爲」四化「,分別是去中心化、場景化、碎片化以及個性化。咱們發現流量成本愈來愈高,「帶領着」獲客成本、品牌商運營成本也一路居高不下,這恐怕就是品牌商本身不作運營選擇其餘途徑的緣由,正所謂「品牌形象宣傳去中心化」 就是這個道理。

clipboard.png

所謂社交電商,必然與」社交」關係密切,進而社交工具天然必不可少。除了憑藉五花八門的推送工具,京東雲社交電商還憑藉京東與生俱來的海量商品以及優點供應鏈屢獲成績。基於京東大數據營銷的能力,海量用戶的精準畫像以及商品推銷、智能選品等這些穩定可靠的基礎服務來打造系統。

clipboard.png

京東社交電商支持三級分傭自動結算、靈活設計類目返傭點數、自定義會員晉升規則、自動統計團隊銷售業績以及豐富的營銷推廣玩法等。

技術架構方面,京東雲商微服務架構是數據庫、硬盤以及統一運維。其中公共平臺、開放平臺、裝修服務還有市場、數據搬運、流量統計等系統都是基於微服務架構,業務層提供統一的、原子化的API接口, 上層業務在這些接口之上構建而成。」

clipboard.png

京東社交電商分三端,分別是買家端、供應商端和PC端。社交電商的系統已接入到京東龐大的商品池,你們能夠在總體的商品池中挑選本身的產品,共同的良性生態就此構建。

clipboard.png

此外,咱們還提供基於京東大數據打造的鵲橋插件,鵲橋鏈接人和貨,完成精準營銷。從交易完成以後,全部交易數據和貨源數據以及貨源行爲數據彙總到一塊兒,京東大數據平臺就對全部的數據進行分析,完成實時監控,在此基礎上基於數據驅動彰顯出廣告優化、客羣聚類、千人千面、自動化營銷。

「總體的系統是基於京東雲技術來構建,京東雲做爲京東對外賦能的窗口,提供一些可信賴的基礎服務,包括技術服務以及系統支持,這部分主要涉及電商雲」。

clipboard.png

舉個例子來講,北京網庫信息技術股份有限公司是國內基於單品供應鏈的B2B電子商務服務公司,以打造中小微企業的全產業正品採購平臺爲使命,關注企業優點單品的在線供應鏈應用,服務包括在線採購、在線批發分銷、在線定製等。

自成立以來,公司服務平臺積累中小企業用戶數據1800多萬,旗下B2B平臺註冊中小企業會員近200萬家,爲全國超過30萬家中小企業提供基礎B2B電子商務應用服務,並與其中2400多傢俱備單品優點的實體企業共同構建了單品電子商務交易平臺,在此過程當中與京東社交電商開展了密切合做。

基於企業級區塊鏈框架系統JD Chain的技術實踐

京東數科區塊鏈產品創新負責人 張做義

京東區塊鏈品牌名叫京東智臻鏈,京東區塊鏈的架構體系分爲JD Chain和JD BaaS(Blockchain as a Service)兩部分,JD Chain做爲核心引擎,在數據帳本、共識協議、密碼算法、存儲等方面引入新的研究成果和工程架構,解決處理性能、伸縮性、擴展性、安全性等基礎和關鍵的技術問題,創建創新性的技術架構和應用方案。JD BaaS是服務平臺,提供靈活易用和可伸縮的區塊鏈系統管理能力,無縫融合包括JD Chain、Fabric在內多種區塊鏈系統的部署管理,向企業級用戶提供公有云、私有云及混合雲環境快速部署能力,下降企業使用成本,加快應用落地。

談及服務層,你們比較關注身份、權限、資源調度管理、證書管理還有版本控制、日誌記錄等。「在今年發佈的《2019京東區塊鏈技術實踐白皮書》中,5大類、14個應用案例的信息都在列。」

若是是BaaS能夠被認爲是汽車發動機的「底盤」,有了底盤就能夠圍繞底盤配置其餘零部件,JD Chain就是裏面的「發動機」,適用於不一樣的場景的區塊鏈應用場景。BaaS幫助企業或者開發者搭上區塊鏈的「順風車」,並且京東也整合了不少在BaaS平臺基礎上的應用服務。

「JD Baas、JD Chain是京東區塊鏈的兩大技術架構體系。基於區塊鏈去匹配各類各樣的應用場景,主題就是怎麼用區塊鏈去創造真實的價值,也能夠被稱爲是可持續價值。」

clipboard.png

京東 JD BaaS平臺比較重要的特點,就是身份認證服務,這也是區塊鏈和聯盟鏈不一樣的地方。聯盟鏈是一個許可鏈,京東方面身份認證服務,例如身份註冊、企業證照審覈等一系列內容審覈加入區塊鏈,以保障聯盟鏈各主體的合規性、關聯性、安全性。

在這個過程當中,不管是企業仍是我的的身份認證信息都會存儲到區塊鏈中,在區塊鏈節點之間作一個協同,包括對外展現都是基於身份認證發生一系列關係,這較之無認證的關係發生將有很大的區別,也是將來比較看好的方向。

clipboard.png

京東自主知識產權區塊鏈底層框架JD Chain於2019年3月正式宣佈開源,在「萬級交易處理、秒級交易確認、海量帳戶和交易、動態伸縮、帳戶存儲、多核並行、密碼算法」等方面符合經典區塊鏈對存儲、對計算的定義和要求,同時還把Key Value結構用現有recycle極大處理效率,這也是能夠支持更高速度的緣由。

clipboard.png

零售、物流與數字科技等領域,是京東區塊鏈主要服務的方向。例如參與廣州互聯網法院「網通法鏈」建設、區塊鏈增值稅專用發票試點、與宿遷的電子證照打通試點等,實際賦能數字存證、電子發票、電子證照等方面的諸多實際應用。

舉個例子來講,區塊鏈的數字存證。咱們參與了北京互聯網法院和廣州互聯網法院的區塊鏈項目,須要把使用司法服務的內容搭載一條司法聯盟鏈,主要能夠實現什麼做用呢?打比方說簽署一個合同,去公證處公證是必要流程之一,若是有了這個聯盟鏈,全部的操做均可以在司法‘朋友圈’實現。司法聯盟鏈可被理解爲是數字簽名的技術,以此判斷合同簽署的合法性,同時簽完的合同會及時備份到這條聯盟鏈中,這樣,法院、公證處以及司法鑑定部門,包括合同雙方的簽署人都可以及時獲知該信息。

clipboard.png

此外,京東區塊鏈在防僞追溯方面作得最多,京東區塊鏈防僞追溯平臺曾經受住四五次大促考驗,用戶復購率、用戶轉化率明顯提升,京東目標客羣對追溯對消費體驗升級、商品品質保證的高度承認。

clipboard.png

圖片描述
以上就是這次沙龍活動分享的大體內容。

關注微信公衆號"京東雲開發者社區",
回覆「PPT0526」獲取課程視頻&PPT。

除了大促技術也可點擊→「京東雲」瞭解618大促活動!
全場低至1折哦!

clipboard.png

圖片描述

相關文章
相關標籤/搜索