1.項目背景
20年中隨著疫情的影響,大家足不出戶防范疫情,但為了市場需要,社區(qū)電商在這
個時間段開始了井噴式增長,我司也加入到時代洪流之中
3.項目概述
整個項目采用api+前端的方式進(jìn)行通訊。
項目人員44人,其中java開發(fā)12人,安卓6人,蘋果6人,web開發(fā)4人,測試4人
,UI3人,運維1人,產(chǎn)品經(jīng)理3人,技術(shù)總監(jiān)1人。
3.1 api
api框架使用springCloud,一共拆分了32子個模塊,190臺服務(wù)器,30臺備用服務(wù)器
,7條備用線路
數(shù)據(jù)庫采用mysql5.6,總共使用了6個業(yè)務(wù)庫,2個數(shù)據(jù)分析庫,另外一個主庫集群
,一個備份庫集群
緩存使用的redis5.0集群版+nginx+CDN
數(shù)據(jù)分析使用的hadoop+hive+spark+ElasticSearch完成
安全防護(hù)使用阿里云
運維軟件采用的阿里云運維套件
日志采集使用的finkkafka
項目檢測采用的zinpin
測試平臺采用的碼云bug管理
代碼管理采用的碼云git
分布式事務(wù)采用的ByteTCC
項目職責(zé): 1 項目中擔(dān)任的角色
我在本項目中的9個月時間里,一直擔(dān)任著技術(shù)總監(jiān)一職,負(fù)責(zé)技術(shù)團(tuán)隊的管理
,攻堅以及技術(shù)層的決議,團(tuán)隊人數(shù)在40-50人左右,整個項目從0到1皆是在我的帶
領(lǐng)下完成開發(fā)
2 項目中遇到的痛點難點
2.1 用戶激增帶來的服務(wù)癱瘓的問題
2.2 服務(wù)器激增帶來的性能瓶頸問題
2.3 數(shù)據(jù)量激增帶來的邊緣瓶頸問題
3 解決問題的辦法
3.1根據(jù)業(yè)務(wù)進(jìn)行業(yè)務(wù)模塊的拆分,數(shù)據(jù)量進(jìn)行數(shù)據(jù)庫的分庫分表,業(yè)務(wù)集中的模
塊,盡量分散到性能優(yōu)秀的服務(wù)器。
3.2 整個系統(tǒng)采用讀寫分離非同步數(shù)據(jù)的模式,大部分用戶讀取的cdn下的緩存數(shù)
據(jù),當(dāng)前請求下的任務(wù)會先給返回值,后端異步執(zhí)行任務(wù)
3.3 數(shù)據(jù)分層,業(yè)務(wù)庫和分析庫以及報表庫進(jìn)行分離,分成年庫,季庫,月庫等
,spark異步執(zhí)行分析任務(wù),處理報表。根據(jù)業(yè)務(wù)或者地域進(jìn)行數(shù)據(jù)分層。
項目業(yè)績: 1 目標(biāo)達(dá)成情況
1:穩(wěn)定26700筆/s的交易高峰
2:穩(wěn)定日均60TB的數(shù)據(jù)分析任務(wù)
3:完成大型分布式系統(tǒng)的從0到1的開發(fā)
2 我的貢獻(xiàn)
1: 引導(dǎo)開發(fā)團(tuán)隊完成任務(wù)
2:建立詳細(xì)可落地的開發(fā)計劃
3幫助開發(fā)團(tuán)隊攻克技術(shù)難關(guān),消除技術(shù)瓶頸
4全面負(fù)責(zé)平臺建設(shè)以及總體規(guī)劃和項目迭代