SpringBoot+VUE+Ubuntu+Redis+Mysql+RabbitMQ+nginx等實戰總結知識點:

1:項目總結前端

項目介紹:
   一、樂優商城是一個全品類的電商購物網站(B2C)。
   二、用戶能夠在線購買商品、加入購物車、下單、秒殺商品
   三、能夠品論已購買商品
   四、管理員能夠在後臺管理商品的上下架、促銷活動
   五、管理員能夠監控商品銷售情況
   六、客服能夠在後臺處理退款操做
   七、但願將來3到5年能夠支持千萬用戶的使用

2:項目要點:vue

要點:
   一、 整個系統採用了先後端分離的開發模式
   二、前端基於vue相關技術棧進行開發,並經過ajax與後端服務進行交互。
   三、前端進行nginx部署,並利用nginx實現對後臺服務的反向代理和負荷均衡(proxy_pass http://192.168.161.1:9001;)
   四、部分熱點靜態資源,碰到流量高峯的時候會考慮使用CDN服務(內容分發網絡)
   五、使用lvs(Linux虛擬服務器)來實現nginx的主從,保證nginx的高可用
   六、後端採用了springCloud技術棧來搭建微服務集羣,並對外提供Rest風格接口。
   七、Zuul做爲整個微服務入口,實現請求路由、負載均衡、限流、權限控制等功能。
   八、後端微服務集羣會經過Spring-Cloud-Config結合Spring-Cloud-Bus來實現統一配置管理和配置動態刷新。
   九、經過Spring-Cloud-Sleuth 和ZipKin實現服務的鏈路追蹤

3.系統架構解讀webpack

整個樂優商城能夠分爲兩部分:後臺管理系統、前臺門戶系統

3.1 前端ios

前端頁面分紅兩部分
    一、一部分面向公司內部人員,實現對商城平常業務管理。後臺管理頁面。
    二、一部分面向買家,實現商品的展現。搜索購買等功能。前臺   3.2 門戶頁面。
 3.1.1後臺管理頁面:
   技術實現:
     一、後臺管理頁面基於VUE實現單頁應用(SPA)。
     二、使用webpack做爲項目構建和打包工具
     三、使用npm做爲依賴管理
     四、使用Vuetity(基於Vue的UI框架,相似element-ui)構建頁面
     五、經過axios發起ajax請求,與後臺交互
   功能模塊:
     一、商品管理,包括商品分類、品牌、商品規格等信息的管理
     二、銷售管理,包括訂單統計、訂單退款處理、促銷活動生成等
     三、用戶管理,包括用戶控制、凍結、解鎖等
     四、權限管理,整個網站的權限控制,採用JWT鑑權方案,對用戶及API進行權限控制
     五、統計,各類數據的統計分析展現
  3.1.2前臺門戶頁面:
    技術實現:
     一、基於Vue技術棧
     二、使用Nuxt的服務端渲染方式,再也不採用單頁應用,有利於(SEO搜索引擎優化)。
     三、其餘與後臺管理頁面技術相似
   前臺門戶面向的是客戶,包含與客戶交互的一切功能。例如:
     一、搜索商品
     二、加入購物車
     三、下單
     四、評價商品等等

四、前臺和後臺系統,都共享相同的微服務集羣,其中包括:nginx

4.1  商品微服務:商品及商品分類、品牌、庫存等的服務
            一、商品分類管理
            二、商品品牌管理
            三、商品規格參數管理:由於規格的可變性,採用豎表設計,分爲規格和規格組表
            四、商品管理:SPU和SKU的設計,以及SKU的動態屬性。
            五、庫存管理:庫存加減採用樂觀鎖方案,另外定時對庫存判斷,庫存不足可通知管理員。
  4.2  搜索微服務:實現搜索功能
            一、採用Elasticsearch完成商品的全文檢索功能
            二、搜索過濾
            三、集羣
  4.3  訂單微服務:實現訂單相關
            一、訂單表設計,狀態記錄
            二、建立訂單須要同時減庫存、跨服務業務、須要注意事務處理,流程。
                    1.1:查詢訂單提交的商品信息
                    1.2:計算訂單總價(計算商品總價、計算運費、計算促銷金額)
                    1.3:寫入訂單、訂單詳情、訂單狀態
                    1.四、減庫存、遠程同步調用商品微服務,實現減庫存
            若是採用異步減庫存、可能須要引入分佈式事務。
  4.4  購物車微服務:實現購物車相關功能
            一、離線購物車:主要使用了localStorage保存到客戶端,幾乎不與服務器交互
            二、在線購物車:使用了redis實現。(數據庫 值 和  key)
  4.5  用戶中心:用戶的登陸註冊等功能
            一、用戶註冊
            二、註冊數據校驗
            三、查詢用戶信息
  4.6  認證中心:用戶權限及服務權限認證
            一、權限管理CRUD
            二、登陸token生成
            三、登陸token認證
            四、服務間token生成
            五、服務間token認證
            六、解決cookie被禁用(跨域問題) 首先提示用戶cookie不能夠被禁用;把cookie放入頭中返回,JS獲取頭信息,存入web存儲(localstorage,SessionStorage),每次請求都須要手動攜帶token,寫入頭中
            七、解決cookie被盜用(受權)咱們的cookie沒法被篡改 ;使用HTTPS協議,防止數據泄露 ;加入ip地址識別身份到payload中
            八、微服務地址被暴露 首先地址不會被暴露,由於全部的微服務都經過Zuul進行訪問,對外暴露的只有Zuul;萬一暴露了,咱們能夠加入服務間鑑權
  4.7  短信服務:完成短信發送
           一、對接阿里雲 平臺,經過MQ(MQ消息隊列)實現異步短信發送    
  4.8  支付服務:完成支付平臺對接
           一、對接微信支付
  4.9  Eureka註冊中心
  4.10 Zuul網關服務
  4.11 Spring Cloud Config配置中心
相關文章
相關標籤/搜索