網(wǎng)約車系統(tǒng)開發(fā)方案與容量評估
2022-09-09 10:23:34 行業(yè)資訊一、網(wǎng)約車系統(tǒng)項(xiàng)目背景
Ptaxi網(wǎng)約車軟件開發(fā)客戶
二、網(wǎng)約車系統(tǒng)業(yè)務(wù)流程
網(wǎng)約車系統(tǒng)客戶端設(shè)計(jì)
考慮乘客獲取預(yù)估價格的查詢是否會有性能瓶頸,我的理解應(yīng)該是調(diào)用地圖提供商接口,獲取公里數(shù),再計(jì)算價格。只需考慮ecs能夠橫向擴(kuò)容即可。
網(wǎng)約車系統(tǒng)司機(jī)端設(shè)計(jì)
搶單模式:
1.司機(jī)端搶單模式下,主動查詢符合條件的訂單列表,此處需要考慮列表查詢算法優(yōu)化。壓力在數(shù)據(jù)庫端,避免全表掃描,可采用網(wǎng)格定義方式提高查詢效率,降低數(shù)據(jù)庫壓力。
2.獲取列表后,司機(jī)端需要點(diǎn)擊搶單,對于多個司機(jī)返回列表并排序在前的客戶訂單狀態(tài),會存在熱更新,有且只有一個司機(jī)能夠?qū)δ硞€客戶訂單update并打上司機(jī)id。搶單時update司機(jī)id為搶單司機(jī)id where司機(jī)id=Null,并讀取update返回記錄條數(shù),如果update返回記錄為0則說明搶單失敗,即司機(jī)id已被更新不為null。此處直接利用數(shù)據(jù)庫鎖即可,考慮到司機(jī)數(shù)量遠(yuǎn)小于乘客數(shù)量,并且司機(jī)搶單并非定時秒殺模式,時間分散,因此數(shù)據(jù)庫鎖影響可以忽略。
派單模式:
后臺計(jì)算匹配的司機(jī)id,并向客戶端進(jìn)行推送。此處僅需考慮對計(jì)算過程的效率以及性能壓力即可,同樣匹配邏輯是尋找最近距離司機(jī),同樣通過網(wǎng)格編號查詢距離,通過子域id限定查詢范圍,提高查詢效率。
三、網(wǎng)約車系統(tǒng)架構(gòu)設(shè)計(jì)
1.客戶端通過軟負(fù)載均衡SLB接入服務(wù)端。
2.服務(wù)端利用ESS彈性計(jì)算功能,支持在CPU超過一定閾值時,進(jìn)行彈性擴(kuò)容。
3.司機(jī)端服務(wù)于乘客端服務(wù)進(jìn)行分離,以支持系統(tǒng)解耦,按需擴(kuò)容。
4.司機(jī)端與乘客端服務(wù)器在首期只連接一個RDS數(shù)據(jù)庫,后續(xù)按需進(jìn)行分布式數(shù)據(jù)庫擴(kuò)容。
5.利用Redis存放網(wǎng)格id與網(wǎng)格子域的映射關(guān)系的映射關(guān)系,以保障快速查詢。
四、網(wǎng)約車系統(tǒng)核心算法
通過地圖網(wǎng)格算法的方式,降低經(jīng)緯度計(jì)算壓力,通過網(wǎng)格子域的方式,減少查詢范圍,提高訂單匹配效率。網(wǎng)格算法:A1,B1,屬于同一子域(圖中不同顏色),子域ID為sub-zone,在同一子域中查詢匹配條件。
五、網(wǎng)約車系統(tǒng)性能評估
目標(biāo):通過性能評估,獲知系統(tǒng)支持容量,對后續(xù)擴(kuò)容進(jìn)行支持。
工具:Apache ab test
服務(wù)器配置:16c32g服務(wù)器上部署應(yīng)用服務(wù)節(jié)點(diǎn)
測試條件:假設(shè)搶單時司機(jī)連續(xù)點(diǎn)擊次數(shù)平均為3次
測試內(nèi)容:
程序只從數(shù)據(jù)庫讀取一條字段記錄做的select查詢處理的QPS壓測地址
http://ermyshow.com/api/test/qps
http://ermyshow.com/api/test/qps
程序做了事務(wù)處理的TPS壓測地址
http://ermyshow.com/api/test/tps
http://ermyshow.com/api/test/tps
測試結(jié)果分析:
1.HTTP性能明顯優(yōu)于HTTPS性能,其中原因是HTTPS進(jìn)行了通訊加密,應(yīng)用程序還需承擔(dān)證書卸載的壓力,如果采用SLB進(jìn)行證書卸載,HTTPS性能可以進(jìn)一步提升。2.在HTTP通訊條件下,吞吐量QPS以及TPS均在并發(fā)為1000時出現(xiàn)拐點(diǎn),因此該配置服務(wù)器最大支持的HTTP并發(fā)為1000,QPS最高為802,TPS最高為750。
3.在不采用SLB的情況下,吞吐量QPS以及TPS均在并發(fā)為500時出現(xiàn)拐點(diǎn),因此該配置服務(wù)器最大支持的HTTPS并發(fā)為500,QPS最高113,TPS最高為130。
因此系統(tǒng)如需HTTP通訊支持吞吐量超過1000或HTTPS通訊支持吞吐量超過500時,則需要進(jìn)行配置升級,通過橫向擴(kuò)容進(jìn)行支持,并考慮數(shù)據(jù)庫瓶頸情況。
六、推薦配置
根據(jù)性能評估結(jié)果,服務(wù)端配置至少兩臺16c32g以上進(jìn)行負(fù)載均衡,單臺能夠達(dá)到700+QPS。后續(xù)按需進(jìn)行橫向彈性擴(kuò)容。拆分為4c8gECS則至少各需要4臺。
Ptaxi猿著專注出行軟件開發(fā),提供打車軟件開發(fā)/出租車+電召系統(tǒng)開發(fā)/城際客運(yùn)定制app開發(fā)/租車app開發(fā)/順風(fēng)車軟件開發(fā)/代駕app開發(fā);助力企業(yè)搭建網(wǎng)約車平臺,代辦或協(xié)助申請拿網(wǎng)絡(luò)預(yù)約出租汽車經(jīng)營許可證!
更多資訊
Ptaxi猿著城際客運(yùn)系統(tǒng)開發(fā)需求
Ptaxi猿著城際定制客運(yùn)系統(tǒng)開發(fā)20220905升級日志
城際客運(yùn)系統(tǒng)開發(fā)20220810升級日志
猿著打車軟件開發(fā)獲悉秦皇島市《網(wǎng)絡(luò)預(yù)約出租汽車運(yùn)輸證》開始辦理
Ptaxi猿著打車系統(tǒng)軟件開發(fā)功能有哪些
Ptaxi網(wǎng)約車軟件開發(fā)獲悉三大造車新勢力,先后瞄準(zhǔn)網(wǎng)約車市場
Ptaxi網(wǎng)約車系統(tǒng)開發(fā)轉(zhuǎn)載自動駕駛汽車運(yùn)輸安全服務(wù)指南(試行)
Ptaxi網(wǎng)約車牌照申請獲悉東莞巡游出租車數(shù)量銳減,網(wǎng)約車數(shù)量持續(xù)增加
每月持續(xù)產(chǎn)品迭代更新
快速Saas搭建+定制開發(fā)
專屬客戶經(jīng)理提供技術(shù)支持
提供企業(yè)合同及國家增值稅發(fā)票
產(chǎn)品
打車系統(tǒng) 定制客運(yùn) 出租車系統(tǒng) 電召系統(tǒng) 代駕系統(tǒng) 租車系統(tǒng) 順風(fēng)車系統(tǒng) 共享汽車系統(tǒng) 跑腿系統(tǒng)關(guān)注我們