微服務架構(14):SpringCloud微服務項目技術總結

微服務架構(14):SpringCloud微服務項目技術總結

一、項目架構

微服務項目一般的架構圖如圖所示:
在這裏插入圖片描述
整個的項目現在都是採用前後端分離的開發模式。

  • 前端主要是一些Vue結合Node.js來實現頁面服務端渲染方式
  • (重點)後端主要是基於SpringCloud的微服務架構,對外統一Rest風格的API,採用nginx反向代理到Zuul

二、項目技術具體解讀

一般電商的典型問題:

1、前端

  • 利用的是Node.js(運行在服務端的 JavaScript)及Vue.js(JavaScript 框架)技術棧,實現前後端分離,通過live-server熱部署直接編寫原生的靜態HTML,向後端發送請求。

2、後端

  • 基於nginx實現初步的反向代理和請求負載均衡和請求限流。
  • 基於JWT技術及RSA非對稱加密實現真正無狀態的單點登錄
  • 結合JWT和RSA非對稱加密,自定義Feign過濾器實現自動化服務間鑑權,解決服務對外暴露的安全問題。
  • 基於FastDFS解決大數據量的分佈式文件存儲問題(例如電商的商品圖片)
  • 基於Elasticsearch高級聚合功能,實現對商品的智能過濾搜索和搜索過濾索引庫的全文檢索
  • 貼近數據庫設計,解決全品類的SPU和SKU的管理問題
  • 基於Thymeleaf實現頁面靜態化,保存到nginx來提高頁面響應速度和併發能力
  • 基於阿里雲短信服務實現SMS功能。
  • 基於RabbitMQ實現可靠消息服務,解決服務間通信問題,解決分佈式事務問題。
  • 基於Redis搭建高可用集羣,實現可靠緩存服務即熱點數據的保存
  • (重點)基於Redis和Mq來應對高可用高併發的秒殺場景。
  • 基於LocalStorage實現離線web本地存儲,減輕服務端壓力。

三、項目部署

整個微服務項目開發測試後,通過Maven的打包成jar文件。

(1)可以直接部署到服務器上,通過命令行的java-jar + 文件名的命令來執行。
(2)還可以部署到Docker容器裏。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章