【分佈式電商網站(學習筆記)】1.環境搭建

電商網站

訪問量大
數據量大
併發高
有一定的業務複雜性技術點豐富
涉及安全方面

工程架構(分佈式應用架構)

在這裏插入圖片描述
各個應用獨立分層使用rpc實現web與service,service與service的互相調用提高代碼複用性

項目架構

1)工程結構
Maven爲基礎 對項目進行分層架構
在這裏插入圖片描述
2)項目架構
面向服務的分佈式架構(SOA)
在這裏插入圖片描述
技術棧
在這裏插入圖片描述

二、分佈式工程搭建

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

三、Dubbo和zookeeper

在這裏插入圖片描述

四、筆記

1.新建user項目(用來提供用戶服務)

C:\Windows\System32\drivers\etc
修改hosts文件 將本地 locahost 變爲 user.gmall.com
在這裏插入圖片描述
刷新配置
私用ngix服務器

2.通用mapper的整合

使用框架tk.mapper
在這裏插入圖片描述
添加pom.xml 依賴
在這裏插入圖片描述
接口繼承mapper<>泛型 可以去除@Mapper
在這裏插入圖片描述
成功生成增刪改查方法
注意 使用時要添加
在這裏插入圖片描述
主鍵返回策略

Gmall-parent 父依賴創建
1)用maven創建 gmall-parent 工程
2)新建其他項目模塊(子模塊)
3)Gmall-parent 依賴基於 springboot 1.5
4)在gmall-parment中定義整個項目的技術棧架構版本管理

Gmall-api
1)使用maven創建一個gmall-api工程
2)引入tk通用mapper(映射類)
3)將xxxService 接口和所有bean類放到api中
4)抽取service serivceImpl mapper **Mapper.xml 修改路徑

Gmall-util
1)項目中的通用框架,是所有應用工程引入的包
springBoot common-lans common-beanutils
2)基於SOA的架構理念項目分爲web前端controller
Jsp thymeleaf cookie工具類
3)基於SOA的架構理念項目分爲web後端service
Mybaties redis

拆分成分佈式架構
SOA面向服務(以dubbo爲基礎)
1)Dubbo的SOA工作原理
2)Dubbo與springcloud區別在於dubbo由自己的協議通訊,sc是由http協議(rest風格)
3)Dubbo有一個註冊中心的客戶端時時同步註冊中心的服務信息
4)dubbo有一個javaweb的監控中心 負責監控服務的註冊信息甚至可以配置負載均衡

@## 將項目改造爲dubbo分佈式框架
1.將user項目拆分爲user-service 和 user-web
2.引入 dubbo 框架
3.將dubbo框架引入 gmall-common-util中 因爲 web層和service層將來需要支持dubbo通訊
在這裏插入圖片描述
Zookeeper 服務啓動成功產生“心跳”
在這裏插入圖片描述
產生匹配的服務
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
本地@Autowired不在同一個容器無法注入 只能使用遠程協議代理

1.切換本地@service 爲dubbo

注意事項
1)Spring 的 @service 改爲 dubbo的service
2)將@Autowired 改爲 @Reference
3)dubbo在進行dubbo協議通訊是需要實現序列化接口(封裝數據的對象)
在這裏插入圖片描述
Bean對象沒有序列化
4)Dubbo comsumer訪問服務三秒鐘每一秒訪問一次 默認一秒超時
超過三次失敗
在這裏插入圖片描述
開發階段可以設置consumer設置超時延長(單位 毫秒)
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章