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.7
- MySQL
- Dubbo
- Nginx
- Redis
- ActiveMQ
- Git