• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      國鐵通用物資采購平臺高并發(fā)訪問關(guān)鍵技術(shù)研究

      2023-02-18 13:11:02楊釗王婷董立華
      鐵路計算機應(yīng)用 2023年1期
      關(guān)鍵詞:國鐵商城架構(gòu)

      楊釗,王婷,董立華

      (1.中國鐵道科學(xué)研究院集團有限公司 電子計算技術(shù)研究所,北京 100081;2.北京經(jīng)緯信息技術(shù)有限公司,北京 100081)

      為落實中國國家鐵路集團有限公司(簡稱:國鐵集團) “大統(tǒng)籌、大平臺、大監(jiān)管”的物資管理改革發(fā)展要求,基于微服務(wù)理念,以大數(shù)據(jù)、云服務(wù)、物聯(lián)網(wǎng)等技術(shù)為支撐,開發(fā)了國鐵通用物資采購平臺(簡稱:國鐵商城),并致力于將國鐵商城打造成為專業(yè)化、信息化、集約化、智能化的鐵路特色采購交易平臺,使其發(fā)揮采購、供應(yīng)、管理、服務(wù)的優(yōu)勢,實現(xiàn)降低物資采購成本、提高效率效益、保障供應(yīng)質(zhì)量、規(guī)范采購行為、加強風(fēng)險管控的目的。隨著應(yīng)用的不斷推廣,用戶群體不斷增大,入駐國鐵商城的單位采購人用戶越來越多,且習(xí)慣于在每天特定時間段集中訪問,尤其是鐵路特有的集中采購時間段,國鐵商城的訪問壓力極大。

      交易型平臺面向高并發(fā)的設(shè)計原則包括拆分、服務(wù)化、消息隊列、數(shù)據(jù)異構(gòu)、緩存等[1]。一般應(yīng)對高并發(fā)的設(shè)計思路是限流、削峰、異步處理、負(fù)載均衡、緩存、微服務(wù)、數(shù)據(jù)庫設(shè)計等方式。微服務(wù)方面,王雪峰等人[2]采用Spring Cloud 作為微服務(wù)基礎(chǔ)框架集合,保證平臺的可靠性和可擴展性;仇念飛[3]、高豪[4]等人采用微服務(wù)架構(gòu)對平臺進行了模塊的劃分和設(shè)計,對高并發(fā)訪問進行了實踐和研究。緩存方面,叢磊[5]提出為用戶行為所有環(huán)節(jié)加上合理緩存,并將緩存時間設(shè)置為毫秒級,針對不同接口指定不同緩存策略,有效提高緩存命中率;梅巧玲等人[6]基于Redis 分布式緩存,論證了在大并發(fā)訪問下分布式數(shù)據(jù)處理技術(shù)的可行性。

      基于上述研究,本文采用微服務(wù)、多級緩存、Kubernetes 和對象存儲技術(shù),解決高并發(fā)訪問難題。

      1 國鐵商城簡介

      國鐵商城作為國鐵集團及所屬單位、商戶進行在線采購交易的平臺,由中國鐵道科學(xué)研究院集團有限公司自主研發(fā)。該商城基于B2B 模式,部署于中國鐵路主數(shù)據(jù)中心,于2020 年上線運營。國鐵商城首頁如圖1 所示。

      圖1 國鐵商城首頁

      國鐵商城在功能上覆蓋了對商家入駐、商家開店、商品上架管理、采購人下單、在線支付、訂單履約、物流發(fā)貨追蹤、發(fā)票管理、售后服務(wù)、對賬結(jié)算等采購交易的全流程管理。國鐵商城的核心子系統(tǒng)包含了運營管理中心、采購人中心、供應(yīng)商中心、電商采購、批量采購專區(qū)、專用物資專區(qū)、消費幫扶專區(qū)、防疫物資專區(qū)、采購人端App 等。其中,電商采購類支持用戶在系統(tǒng)中直接選品下單,可滿足全部鐵路單位采購人小批量采購需求;批量采購結(jié)合鐵路集中采購管理的特點,針對單品采購數(shù)量較多的情況,額外提供采購人與供應(yīng)商議價的途徑;專區(qū)采購則針對鐵路專用物資、防疫物資等鐵路特殊采購需求,提供相對獨特的專區(qū)模式進行在線交易等。

      截至2022 年6 月底,國鐵商城入駐品牌數(shù)已超過60 000 個,單品數(shù)量超過400 萬件,訂單數(shù)超過300萬單,銷售額累計逾170 億元人民幣。

      2 高并發(fā)訪問需求分析

      2.1 業(yè)務(wù)量大

      在需求調(diào)研階段,就明確了國鐵商城未來需要面對的高并發(fā)訪問挑戰(zhàn)。因此,國鐵商城在性能需求方面,按照采購人用戶數(shù)過萬、供應(yīng)商企業(yè)1.5 萬家、年交易額50 億元人民幣的規(guī)模進行設(shè)計。隨著業(yè)務(wù)的不斷擴展,截至2022 年6 月,鐵路采購人用戶數(shù)已近4.5 萬,供應(yīng)商企業(yè)近3 萬家。按照2022年初國鐵商城的運營總體規(guī)劃和部署,預(yù)計到2023年初,供應(yīng)商企業(yè)會超過20 萬家,商城累計交易額超過240 億元人民幣。

      2.2 數(shù)據(jù)訪問量大

      國鐵商城的關(guān)鍵訪問數(shù)據(jù)包括商品圖片信息、商品基礎(chǔ)信息、采購單信息、訂單信息、對賬信息等。其中,圖片信息的訪問特點是文件較多,總體訪問數(shù)據(jù)量大,僅單個商品主圖片的當(dāng)日瀏覽流量可超13 G,單日圖片的總流量約在1.4 T 左右。

      商品基礎(chǔ)信息查詢的訪問壓力核心是檢索功能,日均訪問量在10 萬次以上;其次是商品詳情頁查詢,日均訪問量可達30 萬次;采購單信息、訂單信息及對賬信息日均查詢量均在10 萬次以上。

      2.3 用戶集中訪問

      除數(shù)據(jù)訪問量較大外,國鐵商城存在用戶訪問集中的情況。分析發(fā)現(xiàn),日均3 萬的訪客數(shù)和45 萬的瀏覽量集中在9:00~11:00 和14:00~17:00。域名訪問帶寬峰值工作日內(nèi)保持在400 Mbps 左右,以2022 年6 月15 日為例,流量最高的3 個時間點分別是10:00(393.9 Mbps)、15:05(401.6 Mbqs)及15:35(405.6 Mbps),如圖2所示。

      圖2 6 月15 日國鐵商城域名訪問帶寬情況

      國鐵商城的訪問流量大多在采購人用戶工作時段的幾個小時內(nèi)形成,隨著業(yè)務(wù)不斷擴展,國鐵商 城高并發(fā)訪問的壓力不斷增大。

      解決高并發(fā)問題的關(guān)鍵是要采用擴展性強的技術(shù)架構(gòu),同時,針對高并發(fā)訪問情況進行單獨設(shè)計和改造。

      3 關(guān)鍵技術(shù)

      3.1 微服務(wù)架構(gòu)

      微服務(wù)具有模塊化開發(fā)、分布式部署的特點,各服務(wù)間使用輕量級通信機制,各服務(wù)單元獨立開發(fā)、部署、運行、更新,有靈活的擴展性。每個服務(wù)單元可由多個實例副本支撐,副本的數(shù)量可隨系統(tǒng)的負(fù)荷變化進行調(diào)整。微服務(wù)技術(shù)中的節(jié)點擴容、探活和自動容錯重啟、削峰和降流等特點是應(yīng)對高并發(fā)訪問、提高整體系統(tǒng)可用性的關(guān)鍵要點。國鐵商城在微服務(wù)技術(shù)架構(gòu)體系下不斷拆解訪問量較大的服務(wù),將流量分?jǐn)偟讲煌姆?wù)單元,并提高相應(yīng)服務(wù)單元的副本數(shù)量,借助微服務(wù)技術(shù),通過異步通信保障業(yè)務(wù)邏輯的可用性,以解決高并發(fā)訪問的瓶頸。

      國鐵商城采用Spring Cloud 微服務(wù)架構(gòu)。將國鐵商城劃分為商品、訂單、交易、售后、結(jié)算等微服務(wù),實現(xiàn)服務(wù)與服務(wù)間的解耦。每個微服務(wù)都在自己的進程中運行,并以輕量機制進行通信[7],圍繞業(yè)務(wù)功能構(gòu)建,可通過全自動部署機制來獨立部署。各業(yè)務(wù)服務(wù)均可將自己發(fā)布到注冊中心上(包括網(wǎng)關(guān)服務(wù)Gateway),注冊中心提供服務(wù)注冊及實時健康檢查,以防止向不健康的服務(wù)發(fā)送請求。網(wǎng)關(guān)實現(xiàn)路由轉(zhuǎn)發(fā)、統(tǒng)一認(rèn)證,以及服務(wù)的降級、限流、熔斷等[7],并作為后端服務(wù)的唯一出口。各后端服務(wù)間通過feign 調(diào)用完成業(yè)務(wù)操作。

      國鐵商城微服務(wù)架構(gòu)采用雙分組進行部署,每個服務(wù)分組中的服務(wù)均為多副本部署,拒絕單點故障,提升國鐵商城的穩(wěn)定性;在國鐵商城發(fā)生性能并發(fā)問題時,可通過灰度切換,在用戶無感的情況下,對國鐵商城進行升級和擴容;用戶請求通過負(fù)載均衡接入,負(fù)載均衡將請求轉(zhuǎn)發(fā)至國鐵商城的Nginx 服務(wù),Nginx 根據(jù)規(guī)則將請求轉(zhuǎn)發(fā)到前端服務(wù)或網(wǎng)關(guān)服務(wù)。國鐵商城微服務(wù)架構(gòu)如圖3所示。

      圖3 國鐵商城微服務(wù)架構(gòu)

      3.2 多級緩存

      對于高并發(fā)場景,設(shè)計原則是為用戶行為所有環(huán)節(jié)加上合理的緩存。從用戶請求數(shù)據(jù)到數(shù)據(jù)返回,數(shù)據(jù)通常經(jīng)過了瀏覽器或App 端、內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN,Content Delivery Network)、代理服務(wù)器、應(yīng)用服務(wù)器、中間件緩存及數(shù)據(jù)庫各個環(huán)節(jié),每個環(huán)節(jié)都可運用緩存技術(shù),重點是每個環(huán)節(jié),尤其是對于傳統(tǒng)易忽略的數(shù)據(jù)接口,都要進行合理的緩存,提高服務(wù)性能。

      在應(yīng)對國鐵商城高并發(fā)訪問的問題上,本文在緩存方面主要采用以下做法:(1)使用客戶端緩存,減少不必要的數(shù)據(jù)傳輸,節(jié)省帶寬、提升性能;(2)使用邊緣CDN 對國鐵商城內(nèi)的所有靜態(tài)腳本資源、部分圖片文件和數(shù)據(jù)資源進行緩存,方便用戶終端在互聯(lián)網(wǎng)端直接獲取CDN 緩存的資源,分擔(dān)國鐵商城核心服務(wù)器的壓力,減緩國鐵商城出口帶寬流量阻塞的情況,提高用戶訪問響應(yīng)速度;(3)使用Nginx 緩存服務(wù)器的靜態(tài)資源,訪問時直接讀取Nginx 緩存,減少對后端服務(wù)器的訪問,從而減輕國鐵商城核心服務(wù)器的壓力;(4)使用應(yīng)用框架緩存Guava、分布式緩存Redis 將數(shù)據(jù)存在國鐵商城核心服務(wù)器內(nèi)存中,可處理大量請求;(5)對所有只讀型數(shù)據(jù)接口加緩存,將緩存時間設(shè)置為毫秒級,針對不同接口制定不同緩存策略,有效提高緩存命中率,提升并發(fā)數(shù)據(jù)處理效率[8],減輕數(shù)據(jù)庫服務(wù)器壓力,提升國鐵商城性能。國鐵商城通過對不同層級采用不同的緩存技術(shù),來解決不同類型數(shù)據(jù)并發(fā)訪問的要求,從而減少針對數(shù)據(jù)庫資源的訪問,減輕微服務(wù)架構(gòu)的性能負(fù)擔(dān),更好地支撐互聯(lián)網(wǎng)用戶高并發(fā)的訪問需求。

      3.3 Kubernetes

      容器編排引擎Kubernetes 為容器化的應(yīng)用提供資源調(diào)度、部署運行、服務(wù)發(fā)現(xiàn)、擴容及縮容等功能。Kubernetes 具有完備的集群管理能力,包括服務(wù)注冊和服務(wù)發(fā)現(xiàn)機制、智能負(fù)載均衡、故障發(fā)現(xiàn)和自我修復(fù)能力、服務(wù)滾動升級和在線擴容能力、可擴展的資源自動調(diào)度機制,以及多粒度的資源配額管理能力[9]。

      Kubernetes 將集群中的機器劃分為管理節(jié)點(Master)和工作節(jié)點(Node),Pod 是Kubernetes中可以創(chuàng)建和管理的最小單元。在Master 上運行集群管理相關(guān)的一組進程(apiserver、controller manager 和scheduler),實現(xiàn)整個集群的資源管理、調(diào)度、彈性伸縮、安全控制、系統(tǒng)監(jiān)控和糾錯等管理功能;在Node 上運行真正的應(yīng)用程序(kubelet、kube-proxy 服務(wù)進程),這些服務(wù)進程負(fù)責(zé)Pod 的創(chuàng)建、啟動、監(jiān)控、重啟、銷毀,以及實現(xiàn)軟件模式的負(fù)載均衡。

      國鐵商城部署在基于Kubernetes 搭建的平臺即服務(wù)(PaaS,Platform as a Service)環(huán)境中,可實現(xiàn)容器集群的自動化部署、自動擴縮容、維護等功能。鑒于Kubernetes 完備的集群管理能力,可定時巡查國鐵商城每個服務(wù)的所有實例的可用性,確保服務(wù)實例的數(shù)量始終保持為預(yù)期的數(shù)量,當(dāng)發(fā)現(xiàn)某個實例不可用時,會自動重啟該實例或在其他節(jié)點上重新調(diào)度、運行一個新實例[9]。Kubernetes 可更好地支持微服務(wù)架構(gòu),其服務(wù)彈性擴容機制可讓國鐵商城應(yīng)對突發(fā)流量。在服務(wù)高峰期,可快速擴容國鐵商城某些服務(wù)的實例副本,以提升吞吐量,應(yīng)對高并發(fā)訪問,改善用戶體驗。

      3.4 對象存儲

      國鐵商城使用對象存儲服務(wù)(OSS ,Object Storage Service)來存儲商品圖片、視頻、日志等海量文件。各種終端設(shè)備、Web 網(wǎng)站程序、移動應(yīng)用可直接訪問OSS 域名讀取數(shù)據(jù)。利用互聯(lián)網(wǎng)帶寬,OSS 可實現(xiàn)海量數(shù)據(jù)的互聯(lián)網(wǎng)并發(fā)下載。OSS 結(jié)合CDN,提供靜態(tài)內(nèi)容存儲和分發(fā)到邊緣節(jié)點的解決方案,利用CDN 邊緣節(jié)點緩存的數(shù)據(jù),提升同一個文件被同一地區(qū)客戶大量重復(fù)并發(fā)下載的體驗。

      4 結(jié)束語

      本文分析了國鐵商城的高并發(fā)需求,采用微服務(wù)、多級緩存、Kubernetes、對象存儲等技術(shù),有效解決了當(dāng)前國鐵商城高并發(fā)的問題。今后會持續(xù)、深入研究高并發(fā)相關(guān)技術(shù),并應(yīng)用到國鐵商城,提升其性能,改善用戶體驗。

      猜你喜歡
      國鐵商城架構(gòu)
      武漢局集團公司基于國鐵商城的財務(wù)集中支付探討
      基于FPGA的RNN硬件加速架構(gòu)
      功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
      汽車工程(2021年12期)2021-03-08 02:34:30
      市域鐵路與國鐵互聯(lián)互通共線運營地下車站建筑研究
      法國鐵路或?qū)⒂瓉?個月大罷工
      世界知識(2018年8期)2018-04-23 03:23:50
      LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
      商城
      汽車之友(2017年6期)2017-04-26 10:08:21
      冰城哈爾濱開啟地鐵國鐵零換乘模式
      悅居商城
      悅居商城shop
      沅陵县| 鄂伦春自治旗| 普陀区| 莱西市| 夹江县| 岳阳市| 精河县| 曲水县| 开原市| 安图县| 固安县| 永丰县| 湛江市| 西峡县| 新野县| 高邑县| 隆昌县| 玉龙| 井陉县| 永春县| 比如县| 麟游县| 惠来县| 濮阳县| 德兴市| 化隆| 宁晋县| 贺州市| 香港 | 肇源县| 三台县| 无棣县| 博兴县| 罗江县| 泉州市| 广元市| 梓潼县| 乡城县| 五家渠市| 霍城县| 晋州市|