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