从零到壹搭建一个商城架构--SpringCloud Aalibaba

我们先看一张图,是说明注册中心,配置中心,API网关
从零到壹搭建一个商城架构--SpringCloud Aalibaba_第1张图片
看完上图,脑子里大概有个影响,接下来逐一说明

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中的介绍,主要功能如下
从零到壹搭建一个商城架构--SpringCloud Aalibaba_第2张图片

5、如何使用

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

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloudgroupId>
            <artifactId>spring-cloud-alibaba-dependenciesartifactId>
            <version>2.2.0.RELEASEversion>
            <type>pomtype>
            <scope>importscope>
        dependency>
    dependencies>
dependencyManagement>

由于每个微服务都需要往注册中心注册,我们把这个依赖放到的common包的pom文件中

从零到壹搭建一个商城架构--SpringCloud Aalibaba_第3张图片

6、如何接入

在启动示例进行演示之前,我们先了解一下 Spring Cloud 应用如何接入 Nacos Discovery。 注意 本章节只是为了便于您理解接入方式,本示例代码中已经完成接入工作,您无需再进行修改。

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

 <dependency>
     <groupId>com.alibaba.cloudgroupId>
     <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
 dependency>

从零到壹搭建一个商城架构--SpringCloud Aalibaba_第4张图片

在应用的 /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

从零到壹搭建一个商城架构--SpringCloud Aalibaba_第5张图片

使用 @EnableDiscoveryClient 注解开启服务注册与发现功能

@EnableDiscoveryClient

从零到壹搭建一个商城架构--SpringCloud Aalibaba_第6张图片

你可能感兴趣的:(项目,从零到壹搭建一个商城架构,SCAalibaba,商城)