14 微服務電商【黑馬樂優商城】:day04-項目搭建(一)

本項目的筆記和資料的Download,請點擊這一句話自行獲取。html

day01-springboot(理論篇) ;day01-springboot(實踐篇)前端

day02-springcloud(理論篇一)  ;day02-springcloud(理論篇二)  ;day02-springcloud(理論篇三) ;day02-springcloud(理論篇四) ;vue

day03-springcloud(Hystix,Feign)  ;day03-springcloud(Zuul網關) day04-ES6語法入門(視頻第三天講的ES6,筆記在day04位置)node

day04-項目搭建(一) ; day04-項目搭建(二)mysql

14 微服務電商【黑馬樂優商城】:day04-項目搭建(一)


 0.學習目標

  • 瞭解樂優商城項目結構
  • 能獨立搭建項目基本框架
  • 能參考使用ES6的新語法 

 

 

1.瞭解電商行業

1.1.項目分類

主要從需求方、盈利模式、技術側重點這三個方面來看它們的不一樣react

1.1.1.傳統項目

各類企業裏面用的管理系統(ERP、HR、OA、CRM、物流管理系統。。。。。。)ios

  • 需求方:公司、企業內部
  • 盈利模式:項目自己賣錢
  • 技術側重點:業務功能

1.1.2.互聯網項目

門戶網站、電商網站:baidu.com、qq.com、taobao.com、jd.com ......nginx

  • 需求方:廣大用戶羣體
  • 盈利模式:虛擬幣、增值服務、廣告收益......
  • 技術側重點:網站性能、業務功能

而咱們今天要聊的就是互聯網項目中的重要角色:電商git

1.2.3.技術特色

從上面的數據咱們不只要看到錢,更要看到背後的技術實力。正是得益於電商行業的高強度併發壓力,促使了BAT等巨頭們的技術進步。電商行業有些什麼特色呢?ajax

  • 技術範圍廣
  • 技術新
  • 高併發(分佈式、靜態化技術、緩存技術、異步併發、池化、隊列)
  • 高可用(集羣、負載均衡、限流、降級、熔斷)
  • 數據量大
  • 業務複雜
  • 數據安全

1.3.常見電商模式

電商行業的一些常見模式:

  • B2C:商家對我的,如:亞馬遜、噹噹等
  • C2C平臺:我的對我的,如:閒魚、拍拍網、ebay
  • B2B平臺:商家對商家,如:阿里巴巴、八方資源網等
  • O2O:線上和線下結合,如:餓了麼、電影票、團購等
  • P2P:在線金融,貸款,如:網貸之家、人人聚財等。
  • B2C平臺:天貓、京東、一號店等

1.4.一些專業術語

  • SOA:面向服務

  • RPC:遠程過程調用

  • RMI:遠程方法調用

  • PV:(page view),即頁面瀏覽量

    用戶每1次對網站中的每一個網頁訪問均被記錄1次。用戶對同一頁面的屢次訪問,訪問量累計

  • UV:(unique visitor),獨立訪客

    指訪問某個站點或點擊某條新聞的不一樣IP地址的人數。在同一天內,UV只記錄第一次進入網站的具備獨立IP的訪問者,在同一天內再次訪問該網站則不計數。

  • PV與帶寬:

    • 計算帶寬大小須要關注兩個指標:峯值流量和頁面的平均大小。
    • 計算公式是:網站帶寬= ( PV 平均頁面大小(單位MB) 8 )/統計時間(換算到秒)
    • 爲何要乘以8?
      • 網站大小爲單位是字節(Byte),而計算帶寬的單位是bit,1Byte=8bit
  • PV、QPS、併發

    • QPS:每秒處理的請求數量。

      • 好比你的程序處理一個請求平均須要0.1S,那麼1秒就能夠處理10個請求。QPS天然就是10,多線程狀況下,這個數字可能就會有所增長。
    • 由PV和QPS如何須要部署的服務器數量?

      • 根據二八原則,80%的請求集中在20%的時間來計算峯值壓力:
      • (每日PV 80%) / (3600s 24 20%) 每一個頁面的請求數 = 每一個頁面每秒的請求數量
      • 而後除以服務器的QPS值,便可計算得出須要部署的服務器數量

1.5.項目開發流程

項目經理:管人

技術經理:

產品經理:設計需求原型

測試:

前端:UI前端  mongodb node.js、reactjs、vuejs

後端:

移動端:

項目開發流程圖:

 

 

2.樂優商城介紹

2.1.項目介紹

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

2.2.系統架構

2.2.1.架構圖

請參考樂優商城架構大圖資料:

2.2.2.系統架構解讀

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

  • 後臺管理:

    • 後臺系統主要包含如下功能:
      • 商品管理,包括商品分類、品牌、商品規格等信息的管理
      • 銷售管理,包括訂單統計、訂單退款處理、促銷活動生成等
      • 用戶管理,包括用戶控制、凍結、解鎖等
      • 權限管理,整個網站的權限控制,採用JWT鑑權方案,對用戶及API進行權限控制
      • 統計,各類數據的統計分析展現
    • 後臺系統會採用先後端分離開發,並且整個後臺管理系統會使用Vue.js框架搭建出單頁應用(SPA)。
  • 前臺門戶:

    • 前臺門戶面向的是客戶,包含與客戶交互的一切功能。例如:
      • 搜索商品
      • 加入購物車
      • 下單
      • 評價商品等等
    • 前臺系統咱們會使用Thymeleaf模板引擎技術來完成頁面開發。出於SEO優化的考慮,咱們將不採用單頁應用。

 

不管是前臺仍是後臺系統,都共享相同的微服務集羣,包括:

  • 商品微服務:商品及商品分類、品牌、庫存等的服務
  • 搜索微服務:實現搜索功能
  • 訂單微服務:實現訂單相關
  • 購物車微服務:實現購物車相關功能
  • 用戶中心:用戶的登陸註冊等功能
  • Eureka註冊中心
  • Zuul網關服務
  • ......

 


 

3.項目搭建

3.1.技術選型

前端技術:

  • 基礎的HTML、CSS、JavaScript(基於ES6標準)
  • JQuery
  • Vue.js 2.0以及基於Vue的框架:Vuetify(UI框架)
  • 前端構建工具:WebPack
  • 前端安裝包工具:NPM
  • Vue腳手架:Vue-cli
  • Vue路由:vue-router
  • ajax框架:axios
  • 基於Vue的富文本框架:quill-editor

後端技術:

  • 基礎的SpringMVC、Spring 5.x和MyBatis3
  • Spring Boot 2.0.8版本
  • Spring Cloud 版本  Finchley.SR4
  • Redis-4.0
  • RabbitMQ-3.4
  • Elasticsearch-6.3
  • nginx-1.16.1
  • FastDFS - 5.0.8
  • MyCat
  • Thymeleaf
  • mysql 5.6

3.2.開發環境

爲了保證開發環境的統一,但願每一個人都按照個人環境來配置:

  • IDE:使用Idea 2018.3.6 版本
  • JDK:統一使用JDK1.8
  • 項目構建:maven3.6.1版本
  • 版本控制工具:git

3.3.域名

咱們在開發的過程當中,爲了保證之後的生產、測試環境統一。儘可能都採用域名來訪問項目。

一級域名:www.leyou.com,leyou.com leyou.cn

二級域名:manage.leyou.com/item , api.leyou.com

咱們能夠經過switchhost工具來修改本身的host對應的地址,只要把這些域名指向127.0.0.1,那麼跟你用localhost的效果是徹底同樣的。

 

 

 

=============================================

參考資料:

 

end

相關文章
相關標籤/搜索