前言

一. 为什么使用spring cloud alibaba

很多人可能会问,有了spring cloud这个微服务的框架,为什么又要使用spring cloud alibaba这个框架了?最重要的原因在于spring cloud中的几乎所有的组件都使用Netflix公司的产品,然后在其基础上做了一层封装。然而Netflix的服务发现组件Eureka已经停止更新,我们公司在使用的时候就发现过其一个细小的Bug;而其他的众多组件预计会在明年(即2020年)停止维护。所以急需其他的一些替代产品,也就是spring cloud alibaba,目前正处于蓬勃发展的态式。

Spring Cloud及Alibaba知识点笔记导图源文件

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_spring

SpringCloud 服务注册中心

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_spring cloud_02

Spring Cloud Ribbon负载均衡

Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的复杂就哼算法和服务调用。Ribbon 客户端组件提供一系列完善的配置项如超时、重试等。

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_Cloud_03

SpringCloud OpenFeign服务调用

Feign是声明性Web服务客户端。它使编写Web服务客户端更加容易。要使用Feign,请创建一个接口并对其进行注释。

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_微服务_04

SpringCloud Hystrix服务降级/熔断/隔离

Hystrix 是一个用于处理分布式系统的延迟和容错的开源库, 在分布式系统中,许多不可避免的调用会失败, 比如超时,一场等。Hystrix 能够保证在一个依赖出现问题的情况下,不会倒置整体服务失败,避免级联故障,提高分布式系统的弹性。

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_微服务_05

Spring Cloud Gateway服务网关

SpringCloud GateWay 是 Spring Cloud 的一个全新的项目, 基于 Spring 5.0 + Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构通过一种鸡蛋呢有效的统一的API 路由管理方式

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_java_06

SpringCloud Config服务配配置

SpringCloud Config 为微服务架构中微服务提供了集中化的外部配置支持,配置服务器为各个不同微服务应用的的所有环境提供了一个中心化的外部配置

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_spring_07

SpringCloud Bus消息总线

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_微服务_08

Apache Doubbo服务注册中心

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_Cloud_09

SpringCloud Sleuth链路追踪

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_spring_10

Spring Cloud Stream消息驱动

Spring Cloud Stream 为一些供应商的消息中间件提供了个性化的自动化配置实现,引用了发布 - 订阅、消费组、分区的三个核心概念。

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_Cloud_11

SpringCloud Alibaba Seata 分布式事务

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_java_12

SpringCloud Alibaba Sentinel 实现熔断与限流

了解Sentinel首先要攻克其基于滑动窗口实现的指标数据统计、以及基于责任链模式实现的服务降级过滤器链,在掌握这两点之后,整个Sentinel的框架源码将不难理解。Sentinel 实现的冷启动限流效果算法与匀速限流效果的算法算是限流模块中最难理解的一部份。

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_spring cloud_13

SpringCloud AlibbaNacos 服务注册中心

Nacos 是阿里巴巴开源的分布式服务治理和分布式配置的解决方案,可以帮助业务更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。

spring cloud alibaba微服务框架部署到kubernetes springcloud alibaba架构图_java_14

总结

不管学习任何一门技术,都应该有个系统的学习!为什么一定要系统性学习?不管你是不是做 IT,其实都有系统性学习的必要。系统性的学习一个知识点,可以让我们在遇到问题时考虑的更加全面,这也是一个成熟的工程师应该具备的特征;碎片化的学习则很容易让我们得出一些片面的、甚至错误的结论。