Saul's blog Saul's blog
首页
后端
分布式
前端
更多
分类
标签
归档
友情链接
关于
GitHub (opens new window)

Saul.J.Wu

立身之本,不在高低。
首页
后端
分布式
前端
更多
分类
标签
归档
友情链接
关于
GitHub (opens new window)
  • Java入门基础

  • Java核心基础

  • 设计模式

  • Web开发

  • SpringBoot

  • 微服务

    • Feign声明式远程调用
    • nacos注册中心
    • nacos配置中心
    • SpringCloud Gateway网关
    • 阿里云OSS上传功能
    • 分布式组件 SpringCloud Alibaba 简单接触
      • SpringCloud 的几大痛点
      • SpringClouAlibaba的优势
      • 最终的技术搭配方案
      • 版本选择
      • 引入依赖
  • Elasticsearch

  • 运维

  • 后端
  • 微服务
SaulJWu
2020-08-17

分布式组件 SpringCloud Alibaba 简单接触

前言

在分布式开发中需要知道3个概念-微服务-注册中心、配置中心、网关。

注册中心

如果有各个微服务,每个微服务上线都应该注册注册中心,这样做的好处是统一管理,方便远程调用。

配置中心

能够统一集中管理配置,假设存在多个商品服务,我们只需要在配置中心修改,每个商品服务就能实时从配置中心获取配置

网关

所有请求,都可统一管理,附带鉴权、过滤、路由的作用。

# SpringCloud 的几大痛点

  1. 部分组件停止维护和更新,给开发带来不便;
  2. 部分环境搭建复杂,没有完善的可视化界面,我们需要大量的二次开发和定制
  3. 配置复杂,难以上手,部分配置差别难以区分和合理应用

# SpringClouAlibaba的优势

详细介绍:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

阿里使用过 的组件经理考研,性能强悍,设计合理,现在开源出来大家用成套的产品搭配完善的可视化界面给开发运维带来极大的便利,搭配简单,学习曲线低。

# 最终的技术搭配方案

结合SpringCloud Alibaba 我们最终的技术搭配方案:

  • SpringCloud Alibaba - Nacos:注册中心(服务发现/注册)
  • SpringCloud Alibaba - Nacos:配置中心(动态配置管理)
  • SpringCloud - Ribbon:负载均衡
  • SpringCloud - Feign:声明式HTTP客户端(调用远程服务)
  • SpringCloud Alibaba - Sentinel:服务容错(限流、降级、熔断)
  • SpringCloud - Gateway:API网关(webflux编程模式)
  • SpringCloud - Sleuth:调用链监控
  • SpringCloud Alibaba - Seata:原Fescar,即分布式事务解决方案

如何整合?

# 版本选择

https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

在官方文档中,有这一段。

项目的版本号格式为 x.x.x 的形式,其中 x 的数值类型为数字,从 0 开始取值,且不限于 0~9 这个范围。项目处于孵化器阶段时,第一位版本号固定使用 0,即版本号为 0.x.x 的格式。

由于 Spring Boot 1 和 Spring Boot 2 在 Actuator 模块的接口和注解有很大的变更,且 spring-cloud-commons 从 1.x.x 版本升级到 2.0.0 版本也有较大的变更,因此我们采取跟 SpringBoot 版本号一致的版本:

  • 1.5.x 版本适用于 Spring Boot 1.5.x
  • 2.0.x 版本适用于 Spring Boot 2.0.x
  • 2.1.x 版本适用于 Spring Boot 2.1.x
  • 2.2.x 版本适用于 Spring Boot 2.2.x

# 引入依赖

在common模块的pom.xml下引入依赖,然后刷新maven

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.2.3.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
1
2
3
4
5
6
7
8
9
10
11

上面是依赖管理,相当于以后再dependencies里引spring cloud alibaba就不用写版本号, 全用dependencyManagement进行管理

帮我改善此页面 (opens new window)
#SpringCloud#Alibaba#微服务
上次更新: 2020/12/17, 08:38:35
阿里云OSS上传功能
ElasticSearch-简介

← 阿里云OSS上传功能 ElasticSearch-简介→

最近更新
01
zabbix学习笔记二
02-28
02
zabbix学习笔记一
02-10
03
Linux访问不了github
12-08
更多文章>
Theme by Vdoing | Copyright © 2020-2022 Saul.J.Wu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式