1. 程式人生 > >SpringCloud(1) 架構演進和基礎知識簡介

SpringCloud(1) 架構演進和基礎知識簡介

一、傳統架構演進到分散式架構

簡介:講解單機應用和分散式應用架構演進基礎知識 (畫圖)

高可用 LVS+keepalive

1、單體應用:開發速度慢、啟動時間長、依賴龐大、等等

2、微服務:易開發、理解和維護、獨立的部署和啟動等等

不足:分散式系統(分散式事務問題)、需要管理多個服務(服務治理)

二、微服務基礎知識簡介

微服務核心知識 :閘道器、服務發現註冊、配置中心、鏈路追蹤、負載均衡器、熔斷

1、閘道器:路由轉發 + 過濾器

    /api/v1/pruduct/       商品服務

    /api/v1/order/           訂單服務

    /api/v1/user/            使用者服務

2、服務註冊發現:呼叫和被呼叫方的資訊維護

3、配置中心:管理配置,動態更新 application.properties

4、鏈路追蹤:分析呼叫鏈路耗時

   例子:下單-》查詢商品服務獲取商品價格-》查詢使用者資訊-》儲存資料庫

5、負載均衡器:分發負載

6、熔斷:保護自己和被呼叫方

三、常見的微服務框架

簡介:講解常用的微服務框架

consumer: 呼叫方

provider: 被呼叫方

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

1、dubbo: zookeeper + dubbo + springmvc/springboot

  官方地址:http://dubbo.apache.org/#!/?lang=zh-cn

  配套

    通訊方式:rpc

    註冊中心:zookeper/redis

    配置中心:diamond

2、springcloud: 全家桶+輕鬆嵌入第三方元件(Netflix 奈飛)

  官網:http://projects.spring.io/spring-cloud/

  配套

    通訊方式:http restful

    註冊中心:eruka/consul

    配置中心:config

    斷路器:hystrix

    閘道器:zuul

    分散式追蹤系統:sleuth+zipkin

四、舉例:電商專案

  1、使用者服務

    1)使用者資訊介面

    2)登入介面

  2、商品服務

    1)商品列表

    2)商品詳情

  3、訂單服務

    1)我的訂單

    2)下單介面