今天来看看阿里巴巴的新一代微服务解决方案 Spring Cloud Alibaba
共 2226字,需浏览 5分钟
·
2020-11-14 21:51
在进入今天的正题之前,先来了解一下什么是Spring Cloud。
Spring Cloud 微服务全家桶,是若干个框架的集合,包括
spring-cloud-config、spring-cloud-bus 等近 20
个子项目,提供了服务治理、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列、配置管理等领域的解决方案。
Spring Cloud 通过 Spring Boot 风格的封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署的分布式系统开发工具包。
了解了 Spring Cloud,我们来看看 Spring Cloud Alibaba 是什么?
01
Spring Cloud Alibaba是什么?
和 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案,它是由一系列阿里巴巴的开源组件和云产品组成的。这个项目是为了让大家熟知 Spring 框架,其优秀的设计模式和抽象理念,给使用阿里巴巴产品的 Java 开发者带来使用 Spring Boot 和 Spring Cloud 的更多便利。
Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。该项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
依托 Spring Cloud Alibaba,开发者只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。
02
Spring Cloud Alibaba包含哪些组件?
Spring Cloud Alibaba 包含了阿里开源组件、阿里云商业化组件以及集成Spring Cloud 组件。
Sentinel 组件是面向分布式服务架构的轻量级流量控制产品,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。
Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
RocketMQ 是分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。
Alibaba Cloud ACM 是一款在分布式架构环境中对应用配置进行集中管理和推送的应用配置中心产品。
Alibaba Cloud OSS 是阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。
Alibaba Cloud SchedulerX 是阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。
03
Spring Cloud Alibaba提供哪些功能?
1.服务限流降级
作为稳定性的核心要素之一,服务限流和降级是微服务领域特别重要的一环,Spring Cloud Alibaba 基于 Sentinel,对 Spring 体系内基本所有的客户端,网关进行了适配,默认支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降级功能的接入。Sentinel应用比较简单,只需引入 starter,即可生效,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。
2.服务注册与发现
适配 SpringCloud 服务注册与发现标准,默认集成了 Ribbon的支持。
3.微服务消息驱动
支持为微服务应用构建消息驱动能力,基于 Spring Cloud Stream 提供 Binder 的新实现: Spring Cloud Stream RocketMQ Binder,也新增了 Spring Cloud Bus 消息总线的新实现 Spring Cloud Bus RocketMQ。
4.阿里云对象存储
阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。
5.分布式任务调度
提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有 Worker(schedulerx-client)上执行。
最后贴上GitHub项目地址,里面包含了使用教程和每个组件的详细介绍。
https://spring.io/projects/spring-cloud-alibaba
关注GitHub今日热榜,专注挖掘好用的开发工具,致力于分享优质高效的工具、资源、插件等,助力开发者成长!
点个在看 你最好看