從零到壹搭建一個商城架構--SpringCloud Aalibaba

我們先看一張圖,是說明註冊中心,配置中心,API網關
在這裏插入圖片描述
看完上圖,腦子裏大概有個影響,接下來逐一說明

1、簡介:

pring Cloud Alibaba 致力於提供微服務開發的一站式解決方案。此項目包含開發分佈式應用微服務的必需組件,方便開發者通過 Spring Cloud 編程模型輕鬆使用這些組件來開發分佈式應用服務。

依託 Spring Cloud Alibaba,您只需要添加一些註解和少量配置,就可以將 Spring Cloud 應用接入阿里微服務解決方案,通過阿里中間件來迅速搭建分佈式應用系統。

2、SpringCloud的幾大痛點

  1. SpringCloud部分組件停止維護和更新,給開發者帶來不便
  2. SpringCloud部分環境搭建複雜,沒有完善的可視化界面,我們需要大量的二次開發和定製
  3. SpringCloud配置複雜,難以上手,部分配置差別難以區分和合理應用

3、SpringCloud Alibaba的優勢:

  1. 阿里使用過的組件經歷了考驗,性能強悍,設計合理,現在開源出來大家使用
  2. 成套的產品搭配完善的可視化界面給開發運維帶來極大的便利
  3. 搭建簡單,學習曲線低

4、結合SpringCloud Alibaba我們最終的技術搭配方案:

  • SpringCloud Alibaba - Nacos:註冊中心(服務發現/註冊)
  • SpringCloud Alibaba - Nacos:配置中心(動態配置管理)
  • SpringCloud - Ribbon:負載均衡
  • SpringCloud - Feign:聲明式HTTP客戶端(調用遠程服務)
  • SpringCloud Alibaba - Sentnel:服務容錯(限流、降級、熔斷)
  • SpringCloud - Gateway:API網關(webflux編程模式)
  • SpringCloud - Sleuth:調用鏈監控
  • SpringCloud Alibaba - Seata:原Fescar,即分佈式事務解決方案

根據github中的介紹,主要功能如下
在這裏插入圖片描述

5、如何使用

如果需要使用已發佈的版本,在 dependencyManagement 中添加如下配置。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.2.0.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

由於每個微服務都需要往註冊中心註冊,我們把這個依賴放到的common包的pom文件中

在這裏插入圖片描述

6、如何接入

在啓動示例進行演示之前,我們先了解一下 Spring Cloud 應用如何接入 Nacos Discovery。 注意 本章節只是爲了便於您理解接入方式,本示例代碼中已經完成接入工作,您無需再進行修改。

首先,修改 pom.xml 文件,引入 Nacos Discovery Starter。

 <dependency>
     <groupId>com.alibaba.cloud</groupId>
     <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
 </dependency>

在這裏插入圖片描述

在應用的 /src/main/resources/application.properties 配置文件中配置 Nacos Server 地址

spring:
  application:
    name: hslmall-coupon

  datasource:
    url: jdbc:mysql://192.168.56.10:3306/hslmall_sms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: root
  cloud:
    #配置nacos服務註冊和服務發現
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

在這裏插入圖片描述

使用 @EnableDiscoveryClient 註解開啓服務註冊與發現功能

@EnableDiscoveryClient

在這裏插入圖片描述

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