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