已經(jīng)在家隔離兩個(gè)多月了,整個(gè)人都胖了一圈。自從胖了以后,大家關(guān)注的焦點(diǎn)就變成了我的胖,而忽略了我的丑,真好。

          靠著微弱的手機(jī)網(wǎng)絡(luò),我依然堅(jiān)持在家辦公,下面就說(shuō)說(shuō)在家辦公我都做了什么。

          1. 業(yè)務(wù)需求

          在經(jīng)歷了購(gòu)物便利性和消費(fèi)民主化之后,電子商務(wù)必然會(huì)迎來(lái)新的一輪零售變革,這就是內(nèi)容電商!

          內(nèi)容電商,就是電商的下一個(gè)風(fēng)口!

          咳咳,扯遠(yuǎn)了!

          教育一直都是常青樹(shù),任何時(shí)候教育領(lǐng)域都是一個(gè)不錯(cuò)的選擇。

          猿輔導(dǎo)、學(xué)而思、嘰里呱啦、潘多拉英語(yǔ)、斑馬英語(yǔ)、叫叫閱讀等等,都是兒童教育領(lǐng)域的知名品牌。

          當(dāng)真是編程五分鐘,扯淡兩小時(shí),說(shuō)正題

          業(yè)務(wù)模型是這樣的




          基于這樣的模型,很自然地,系統(tǒng)分為這樣幾大塊:商品售賣(mài)(涉及商品、訂單、價(jià)格、物流、交易、會(huì)員等),課程學(xué)習(xí)(設(shè)計(jì)課程相關(guān)的各種存儲(chǔ)、配置、數(shù)據(jù)分析、音視頻加密、題庫(kù)、課中交互等),基礎(chǔ)服務(wù)接入(涉及注冊(cè)登錄、Token認(rèn)證、會(huì)員權(quán)益、消息推送、網(wǎng)關(guān)、注冊(cè)中心等)

          2. 技術(shù)實(shí)現(xiàn)

          2.1 基本架構(gòu)



          簡(jiǎn)要說(shuō)明:

          1、基本數(shù)據(jù)存MySQL,一些不規(guī)則數(shù)據(jù)(例如:題目、樓層數(shù)據(jù))存MongoDB,記錄類(lèi)型的數(shù)據(jù)存ES


          2、緩存主要用分布式緩存和內(nèi)存緩存,定時(shí)從Redis中刷新內(nèi)存緩存。更新Redis的方式一般有兩種:MQ異步刷新和直接方法調(diào)用同步刷新。Redis注意設(shè)置好連接池相關(guān)參數(shù)。

          3、服務(wù)之前用Dubbo調(diào)用,注意設(shè)置超時(shí)時(shí)間和重試次數(shù)

          4、業(yè)務(wù)網(wǎng)關(guān)負(fù)責(zé)用戶(hù)身份認(rèn)證、統(tǒng)一日志處理、統(tǒng)一異常處理

          5、配置用攜程的Apollo。當(dāng)然,用阿里的Nacos更好。

          6、MyBatis plus 很好用,自動(dòng)生成,基本不需要寫(xiě)什么代碼,幾乎不需要寫(xiě)SQL,自帶的方法足夠使用了

          7、阿里的CND、OSS、MQ、音視頻處理、容器鏡像、安全審計(jì)等服務(wù),百度CDN,騰訊語(yǔ)音識(shí)別,環(huán)信等

          2.2 設(shè)計(jì)要點(diǎn)

          項(xiàng)目結(jié)構(gòu)大概是這樣的:

          cjs-commons (常量工具類(lèi)等)
          cjs-repository (所有數(shù)據(jù)庫(kù)操作寫(xiě)在這里)
          cjs-dependency (所有依賴(lài)的服務(wù)都寫(xiě)在這里)

          cjs-inner-api (內(nèi)部服務(wù)調(diào)用dubbo api)
          cjs-inner-service (內(nèi)部服務(wù)dubbo實(shí)現(xiàn))

          cjs-api (面向客戶(hù)端的dubbo api服務(wù))
          cjs-service (面向客戶(hù)端的dubbo實(shí)現(xiàn))

          cjs-web (面向客戶(hù)端的API接口)
          cjs-admin (管理后臺(tái))

          約定優(yōu)于配置。項(xiàng)目結(jié)構(gòu)、命名規(guī)范是大家共同達(dá)成的約定,定了以后遵守就完了。

          ?

          1、音視頻要加密,圖片及音視頻上傳之前務(wù)必要按要求進(jìn)行壓縮

          2、課程是虛擬內(nèi)容,有的課程帶教具,因此下單時(shí)候就是一個(gè)虛擬商品訂單和一個(gè)實(shí)物商品訂單。實(shí)物訂單就要考慮運(yùn)費(fèi)、物流等信息

          (虛擬商品沒(méi)有庫(kù)存、沒(méi)有物流。虛擬訂單也是有SKU的)

          3、題目類(lèi)型眾多,且每種題目之間差異比較大,答案選項(xiàng)也是固定,這種數(shù)據(jù)就不用想了,直接放mongodb

          4、首頁(yè)展示的商品是通過(guò)首頁(yè)樓層配置的,樓層數(shù)據(jù)最好也放mongodb

          5、答題記錄、課程學(xué)習(xí)記錄、星星記錄這種數(shù)據(jù)量太大了,就直接放到ElasticSearch中,主要是檢索快

          6、單元小結(jié)、學(xué)習(xí)報(bào)告這種的話(huà),目前是服務(wù)端從上報(bào)的數(shù)據(jù)中計(jì)算出來(lái)的。不過(guò)最好是通過(guò)一些實(shí)時(shí)計(jì)算平臺(tái)來(lái)處理。

          7、層級(jí)比較深,一定要維護(hù)好緩存關(guān)系,避免調(diào)用鏈路過(guò)長(zhǎng),可以用Pinpoint查看調(diào)用鏈路

          8、課程中的資源文件比較多,下載會(huì)比較耗時(shí),不要想讓客戶(hù)端實(shí)時(shí)去網(wǎng)絡(luò)加載。最好是客戶(hù)端提前下好,所有url改成本地路徑,這樣的話(huà)就可以從本地加載資源。


          9、記得不要都放到一個(gè)籃子里。課程學(xué)習(xí)進(jìn)度要定時(shí)上報(bào)(比如,正常2分鐘上報(bào)一次,當(dāng)用戶(hù)暫停、退出、拖進(jìn)度條等事件觸發(fā)后立即上報(bào)),不要等到學(xué)完了才上報(bào)一次,不保險(xiǎn)。

          10、接口要注意區(qū)分版本

          11、視頻無(wú)法播放,最有可能是CDN的問(wèn)題

          12、用戶(hù)數(shù)據(jù)太過(guò),redis不夠用,有兩種方案:
          (1)、用SSDB替換
          (2)、數(shù)據(jù)導(dǎo)入ES,查詢(xún)走ES

          13、記得埋點(diǎn),別等到上線了才想起來(lái)要進(jìn)行數(shù)據(jù)打點(diǎn)

          Spark Streaming

          3. 協(xié)作與工具

          釘釘:必備

          語(yǔ)雀:專(zhuān)業(yè)的云端知識(shí)庫(kù)

          Worktile:敏捷開(kāi)發(fā),與jira類(lèi)似,需求、任務(wù)、bug跟進(jìn)

          wiki:早期用wiki,忘了它吧

          石墨文檔:過(guò)~

          MindLinker:音視頻會(huì)議

          Yapi:可視化接口管理平臺(tái)(忘了swagger吧,idea有插件)

          ?

          充分理解需求,做好設(shè)計(jì)評(píng)審,同客戶(hù)端定好數(shù)據(jù)結(jié)構(gòu),而后各自開(kāi)發(fā)

          每天站立會(huì)、日?qǐng)?bào)、周報(bào),及時(shí)溝通,及時(shí)匯報(bào),燃盡圖

          每天各種會(huì)議,開(kāi)會(huì)確實(shí)很累人,開(kāi)會(huì)的成本比較高,所以要提高效率

          按照需求的級(jí)別來(lái)開(kāi)發(fā),基礎(chǔ)的工作、優(yōu)先級(jí)高的任務(wù)先做,一定要多溝通多確認(rèn),一定要注意優(yōu)先級(jí)

          阻塞性的問(wèn)題要及時(shí)拋出

          最后,多壓測(cè),就到這兒吧

          附上架構(gòu)圖



          ?

          友情鏈接
          ioDraw流程圖
          API參考文檔
          OK工具箱
          云服務(wù)器優(yōu)惠
          阿里云優(yōu)惠券
          騰訊云優(yōu)惠券
          京東云優(yōu)惠券
          站點(diǎn)信息
          問(wèn)題反饋
          郵箱:[email protected]
          QQ群:637538335
          關(guān)注微信

                欧美成人不卡视频 | 日本嫩逼 | 九七AV| 中文字幕无码Av在线 | 少妇下面好多水真爽 |