學習 spring-cloud-aibaba第九篇,綜合應用微信小程序《背詩詞》


特別聲明:自己學習慕課網大目師兄的微服務視頻的綜合應用,第九篇,九九歸一

1.背詩詞小程序界面和功能點

1.1 界面展示

大家如果要體驗我的小程序,微信搜索 背詩詞 就可以了,全匹配的那個小程序就是我的

  • 首頁
    在這裏插入圖片描述
  • 賞析
    點擊首頁的“賞析”按鈕
    在這裏插入圖片描述
  • 默寫
    在這裏插入圖片描述
  • 我的
    未登錄
    在這裏插入圖片描述
    已登錄
    在這裏插入圖片描述
  • 歷史記錄
    在這裏插入圖片描述
  • 積分明細
    在這裏插入圖片描述
  • 規則介紹
    在這裏插入圖片描述
  • 技術架構
    在這裏插入圖片描述

1.2 功能介紹

  • 總體介紹
    每天隨機給用戶更新一首詩詞,如果用戶在背誦裏通過了該詩詞的背誦檢查,它會記錄在歷史記錄頁面,以後不會再出現在你的首頁;如果你不會背誦,沒關係,第二天會幫你更新一首新的詩詞。這樣每天都不單調,並且你可以隨時查看所有你曾經背誦過的詩詞,這是這個小程序存在的意義。
  • 首頁詩詞展示
    未登錄時,隨機展示一首詩詞;已登錄時,展示當前分配給用戶的詩詞
  • 詩詞更換定時任務
    凌晨一點,給所有用戶更換新的詩詞
  • 詩詞音頻
    點擊首頁的喇叭按鈕,播放當前詩詞的朗誦音頻
    我的服務器網速不快(帶寬老貴了),所已點擊之後可能會有些延遲
  • 背誦
    通過純漢字的對比,判斷用戶是否正確背誦記憶了詩詞
  • 登錄
    對接微信授權登錄接口
  • 上滑分頁加載
    歷史記錄和積分明細頁面有用到

2.架構圖

2.1 理想中架構圖

微服務嘛,當然是羣組,這樣才能高可用,適應多併發
在這裏插入圖片描述

2.2 實際上的架構圖

然而我只有一個內存2G的服務器,還是在打折的時候買的,單實例都部署不下去,內存不夠,服務器太卡了,當初想的實在太多了,在朋友借了一個4G的服務器之後,瞬間感覺變大款了,然而也只夠部署下面的一套,實際上的架構圖是這樣的
在這裏插入圖片描述

3 代碼開源

整個項目的代碼都已上傳到gitee,包括java代碼和小程序代碼,當然不包括nginx,本地運行也沒有必要用到nginxhttps://gitee.com/zengchen2016/springcloud-demo.git,五個項目放在一起了

4 線上體驗

大家如果要體驗我的小程序,微信搜索 背詩詞 就可以了,全匹配的那個小程序就是我的
在這裏插入圖片描述

5.披過的荊斬過的棘

  • 小程序開發
    真的是對着小程序的開發文檔一點點看的,需要什麼找什麼,哪裏不會點哪裏
  • UI設計,css樣式
    最讓後端程序員沒脾氣的東西,沒有之一
  • nginx
    微信小程序只能用域名+https請求,這意味着你得域名備案+弄一個合法證書,你的nginx必須要配置443接口,使用合法的證書,失效不合法的不行的,這個搞了幾天,最後用的是keymanager
  • jenkins
    很方便的一個打包部署的自動化工具,可惜因爲服務器內存原因,捨棄了
  • 最滿意的代碼
    user項目裏的一個定時任務 com.zengchen.user.task.CurrentPoemTaskBak.java
    雖然因爲業務邏輯原因,它廢棄了,但是它是這項目裏我寫的最令自己滿意的代碼, 以前有個面試官問過我這個問題,我當時有點懵,現在我體會到了

6.存在的不足

  • 邏輯都放到了controller裏實現了,比如LoginController,應該放到service層裏纔對,這樣便於用事物管理起來
  • 定義了FeignFallbackhandler ,發生調用錯誤的時候,本可以在裏面寫點邏輯挽回點什麼的,但是裏面沒有寫具體的實現
  • alibaba組件版本比較低,沒有按照老師的視頻升級,因爲我還沒看到那裏去
  • 仍然有很多組件沒有應用到,比如 消息隊列,服務容錯,鏈路監控
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章