springCloud筆記一:架構演進與分佈式系統基礎知識

springCloud筆記一:架構演進與分佈式系統基礎知識

傳統架構演進到分佈式系統

  1. 互聯網剛開始的架構

架構

  1. 用戶增多後

演進架構

  1. 用戶繼續增多

增加nginx的集羣分發:和網關分發

網關主要用來攔截用戶信息,是否登錄的。

負載均衡器:高可用,LVS+keepalive

繼續演進

  1. 單體應用

開發速度慢,啓動時間長,依賴龐大,等等。

  1. 微服務

易開發,理解和維護。

獨立的部署和啓動等。

不足:

​ 分佈式系統—》分佈式事務問題,需要管理多個服務,----》服務治理問。

微服務核心基礎講解

  1. 講解微服務核心知識

1、網關:路由轉發+過濾器。

​ api/v1/product 商品模塊

​ api/v1/user 用戶模塊

​ 過濾器用來檢測用戶是否登錄系統,動態插拔作用

2、服務註冊發現:調用和被調用方的信息和維護

​ 每個服務啓動時,都會向註冊中心進行註冊。

3、配置中心:管理配置,動態更新。

​ 每個服務都有一個application.properties,如果要修改都要進行修改,然後再提交,部署。當服務有上百個時,很麻煩。可以添加一個配置中心,把所有的服務配置集中在一起,並可視化。並進行動態更新。

4、鏈路追蹤:分析調用鏈路耗時。(qbs)

​ 例子:用戶下單—》查詢商品服務獲取商品價格----》xxxx服務。通過鏈路追蹤,就可以查詢出那個地方qbs高了,然後進行處理。

5、負載均衡:分發負載

​ 通過ngxin進行負載均衡。

6、熔斷:保護自己和被調用方。

​ 熔斷:當一個服務調用另一個服務時,突然特別慢。熔斷機制就會發現,然後暫停其他服務調用這個服務接口,等待x分鐘後,再去測試,如果測試滿足要求就走正常流程。

常見的微服務框架

  1. 服務中的角色

consumer:調用方

provider;被調用方

一個接口一般都會充當兩個角色(不是同時充當)

  1. dubbo:

zookeeper+dubbo+springMVC/SpringBoot

配套:

​ 通信方式:RPC

​ 註冊中心:zookeper/redis

​ 配置中心:diamond

  1. springCloud:

全家桶+輕鬆嵌入第三方組件(Netflix 奈飛)

配套:

​ 通信方式:http restful

​ 註冊中心:eruka/consul

​ 配置中心:config

​ 斷路器:hystrix

​ 網關:zuul

​ 分佈式追蹤系統:sleuth+zipkin

微服務下電商項目基礎模塊設計

  1. 用戶服務

1、用戶信息接口

​ 用戶信息接口

​ 登錄接口

2、商品服務

​ 商品列表

​ 商品詳情

3、訂單服務

​ 我的訂單

​ 下單接口

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