1. 程式人生 > >SSM分散式專案01-技術點介紹&專案介紹&分散式架構對比&SOA架構

SSM分散式專案01-技術點介紹&專案介紹&分散式架構對比&SOA架構

1. 技術特點

技術新,如redis

技術範圍廣

分散式(一件事拆分成多個部分完成)

高併發(併發量:同時訪問,tomcat+Oracle 400~500)、叢集(多個人做同一件事)、負載均衡、高可用

海量資料 1024b = 1KB 1024KB = 1MB 1024GB = 1TB 1024TB = 1PB最小單位,大資料分析

業務複雜

系統安全

 

2.專案介紹&名詞解釋

簡化版的B2C平臺,類似京東、天貓商城。會員可在商城中瀏覽商品,進行購買以及參加各種活動

管理員可以在平臺後臺管理系統中管理商品、訂單、會員等

客服可以在後臺管理系統處理使用者詢問及投訴

名詞解釋

OA(辦公軟體)、CRM(客戶管理系統)、ERP(提交訂單或表單)

LAMP(Linux+Apache+MySQL+PHP)

B2B:商家到商家(阿里巴巴)

B2C:商家到客戶

C2C:使用者到使用者(淘寶)

B2B2C:商家到商家到使用者(天貓)

O2O:線上到線下(online to offline)

網際網路金融

P2P:Person to Person個人對個人信貸

 

前端:商品搜尋、商品展示、購物車、註冊登入、訂單提交、支付、會員中心、客戶服務、公告、幫助中心、社群

後端:商品管理、活動管理、商品推薦、

訂單管理、CMS(內容管理系統)、CRM(客戶管理)、採購管理、WMS(倉庫管理系統)、財務管理、統計報表、系統管理、網路管理

 

3.傳統架構

缺點:耦合度高、維護成本高、無法解決高併發的問題(200併發)

 

500併發量:負載均衡伺服器(nginx)+2個tomcat

存在問題:(1)系統無法進行有效水平擴充套件(叢集不能支隊功能模組);(2)使用者存在重複登入

問題(2)解決需要session共享、以session廣播的形式、比較消耗資源、頻寬

 

4.分散式架構

分散式:按照功能點把系統拆分成獨立的功能工程,可以單獨為某一個節點新增伺服器

,需要系統之間配合才能完成整個業務邏輯。

將系統按照模組分佈拆分成多個子系統,多個系統相互協作才能完成業務流程系統之間通訊

叢集:相當於同一個工程程式碼拷貝多份部署到不同伺服器,每臺伺服器獨立部署和執行

優點:

(1)把模組拆分,使用介面通訊,降低模組之間耦合度

(2)把專案拆分成子專案

(3)增加功能是隻需再增加一個子專案,呼叫其他系統的介面

(4)可以靈活的進行分散式部署

缺點:

(1)系統之間互動需要遠端通訊,需要開發介面,增加工作量

(2)各模組有些業務邏輯無法共用

4.SOA架構

SOA(Service Oriented Architecture)面向服務架構,不依賴於平臺和語言,可實現不同語言間的相互呼叫。通過Internet進行基於HTTP協議的網路應用間互動。

把工程拆分成服務層工程、表現層工程。

服務層工程包含業務邏輯(呼叫服務層的服務),只需對外提供服務。

表現層工程只需處理和頁面互動

5.SSM整合

6.技術和開發環境

技術

  • Spring、SpringMVC、Mybatis
  • JSP、JSTL、JQuery、EasyUI、KindEditor(富文字編輯器)
  • Redis(快取伺服器、單點登入、購物車)
  • Solr(搜尋)
  • dubbo(分散式服務框架)
  • HTTPClient(HTTP協議訪問客戶端)
  • ActiveMQ(訊息佇列)
  • Quartz(定時任務)
  • FastDFS(圖片伺服器)
  • FreeMarker(頁面靜態化)
  • Nginx(反向代理伺服器)
  • MyCat(中介軟體)

開發環境

  • Eclipse 4.6 Neon
  • Maven 3.3.9
  • Tomcat 8或9
  • JDK1.8
  • MySQL
  • Dubbo
  • Nginx
  • Redis
  • ActiveMQ
  • Git