长沙县不错的建站按效果付费,建站之星视频,网络营销都有哪些方法,平面设计培训班教程一、概述
1、简介
Spring Cloud Alibaba#xff0c;它是由一些阿里巴巴的开源组件和云产品组成的。这个项目的目的是为了给Java开发者带来使用 Spring Boot 和 Spring Cloud 的更多便利。
Spring Cloud Alibaba 致力于 提供微服务开发的一站式解决方案。该项目包含开发分布…一、概述
1、简介
Spring Cloud Alibaba它是由一些阿里巴巴的开源组件和云产品组成的。这个项目的目的是为了给Java开发者带来使用 Spring Boot 和 Spring Cloud 的更多便利。
Spring Cloud Alibaba 致力于 提供微服务开发的一站式解决方案。该项目包含开发分布式应用微服务必需组件方便开发者通过Spring Cloud编程模型轻松使用这些组件来开发
分布式应用服务。依托 SpringCloudAlibaba,您只需添加一些注解和少量配置就可以将SpringCloud应用接入阿里微服务解决方案通过阿里中间件来迅速搭建分布式应用系统。
2、 主要功能
作为微服务都需要考虑 服务治理、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列、配置管理 等领域的解决方案。
这些功能Spring Cloud Alibaba都能满足,而且都做的非常好。
主要功能如下
服务注册与发现适配 SpringCloud 服务注册与发现标准默认集成了 Ribbon的支持。
分布式配置管理支持分布式系统中的外部化配置配置更改时自动刷新。
服务限流降级默认支持 Servlet、Feign、RestTemplate、Dubbo 和 RocketMQ 限流降级功能的接入可以在运行时通过控制台实时修改限流降级规则
还支持查看限流降级 Metrics 监控。
消息驱动能力基于 SpringCloudStream 为微服务应用构建消息驱动能力。
阿里云对象存储阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。
分布式任务调度提供秒级、精准、高可靠、高可用的定时基于 Cron 表达式任务调度服务。同时提供分布式的任务执行模型如网格任务。网格任务支持
海量子任务均匀分配到所有 Workerschedulerx-client上执行。
3、主要组件
为了实现上面的功能alibabaCloud也提供了一系列的组件 具体可以参考这张图 这个图片中展示所有的组件可以分为三大分类: 阿里开源组件、阿里商业化组件、集成 Spring Cloud 组件。
(1)阿里开源组件
Nacos Nacos 是一款开源的注册中心和配置中心能够帮助用户动态服务发现、配置管理和服务治理。它支持 Kubernetes 和 Spring Cloud 等多种环境并提供了一组易于使用的 API 接口方便用户快速集成和使用。 Nacos 的架构设计基于三个核心模块命名服务Naming、配置服务Configuration和服务治理Governance。其中命名服务负责服务的注册和发现配置服务负责配置的管理和发布服务治理负责服务的负载均衡和流量控制。
Sentinel Sentinel 是一款轻量级的流量控制和熔断降级框架能够帮助用户解决高并发场景下的稳定性问题。它提供了实时的监控和告警功能能够对服务的 QPS、RT、异常率等指标进行实时监控和统计同时也支持基于规则的熔断降级、流量控制和系统保护。 Sentinel 的架构设计基于两个核心模块流量控制和熔断降级。其中流量控制负责限制服务的流量避免系统被过载熔断降级负责在服务异常或不可用时进行自动熔断避免系统崩溃。多个维度来保护服务的稳定性。
RocketMQ RocketMQ 是一款开源的分布式消息中间件能够帮助用户快速构建可靠的消息传递系统。它支持多种消息模式和协议包括点对点模式和发布订阅模式并提供了高可用、高性能和可扩展的特性。
Dubbo Dubbo 是一款高性能、轻量级的 RPC 框架可以帮助开发者快速构建分布式应用程序。Dubbo 可以实现基于 RPC 的远程服务调用、负载均衡、服务注册和发现等功能支持多种通信协议和序列化方式。
Seata Seata 是一个开源的分布式事务解决方案它提供了高可用的事务管理功能和高性能的本地事务处理能力。Seata 可以与多种框架和平台进行集成包括 Spring Cloud Alibaba、Dubbo 和 Apache ServiceComb 等。
Arthas开源的Java动态追踪工具基于字节码增强技术功能非常强大。
(2)阿里商业化组件
作为一家商业公司阿里巴巴推出 Spring Cloud Alibaba很大程度上市希望通过抢占开发者生态来帮助推广自家的云产品。所以在开源社区夹带了不少私货这部分组件
整体易用性和稳定性还是很高的。
Alibaba Cloud ACM一款在分布式架构环境中对应用配置进行集中管理和推送的应用配置中心产品。
Alibaba Cloud OSS阿里云对象存储服务Object Storage Service简称 OSS是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、
任何时间、任何地点存储和访问任意类型的数据。
Alibaba Cloud SchedulerX阿里中间件团队开发的一款分布式任务调度产品提供秒级、精准、高可靠、高可用的定时基于 Cron 表达式任务调度服务。
(3)集成 Spring Cloud 组件
Spring Cloud Alibaba 作为整套的微服务解决组件只依靠目前阿里的开源组件是不够的更多的是集成当前的社区组件所以 Spring Cloud Alibaba 可以集成 Zuul
OpenFeign等网关也支持 Spring Cloud Stream 消息组件。
4、整体理解
在网上找到一个Spring Cloud Alibaba 项目成员提供的对于SpringCloudAlibaba整个生态的理解我觉得这幅图画的真好。 这幅图它们叫3 23是指图中深色的部分(这部分又分为3小部分)2是指上图中最外的一圈(这一圈又被分为两小部分)。下面来讲解为什么分为这两大部分每小部分的含义。
3的含义
其实这一整个3我们可以去理解是整个 Spring Cloud 标准一共有3部分组成。
第一层、中间颜色最深的部分就是及整个微服务最核心的内容包括了 RPC 调用”以及“服务注册与发现。可以说只要是微服务都首先需要考虑的也是微服务最核心的。
第二层、也就是围绕着核心的这一圈是一些辅助微服务更好的工作功能包括了负载均衡、路由、网关、断路器还有就是追踪等等这些内容。这部分可以让我们更好
的去使用微服务但它们并不是一定必须的而是说通常都需要考虑的。
第三层、再外层的话主要是一些分布式云环境里通用能力。必要程度可以比上面再轻一点。
2指的含义
“2”指的就是上图中最外面这一圈。这一部分就是这个我们 Spring Cloud Alibaba 的一个定义它其实包含两个部分的内容
右上部分、是对于 Spring Cloud 标准的实现。例如我们通过 Dubbo 实现了 RPC 调用功能通过 Nacos 实现了“服务注册与发现”、“分布式配置”通过 Sentinel 实现了
断路器等等这里就不一一列举了。
左下部分、 是我们 Spring Cloud Alibaba 对阿里云各种服务的集成。在实际生产过程中单独使用微服务框架其实并不足以支撑我们去构建一个完整的系统。所以这部分是
用阿里帮助开发者完成微服务以外的云产品集成的功能。
注意 右上部分是阿里完全开源的开发者可以只是用这部分实现运行在任何云平台中。当然左下部分由于天然是对阿里云服务的集成这部分是和平台相关的
是需要我们付费购买服务的。 二、AlibabaCloud 和 SpringCloud比较
1、比较
现在AlibabaCloud这么火热的很大的一个原因在于spring cloud中的几乎所有的组件都使用Netflix公司的产品然后在其基础上做了一层封装。然而Netflix的服务发现组件Eureka已经
停止更新。这里有张图对于它们之间的比较 重点 从里可以看出 Spring Cloud Alibaba 是所有的实现方案中功能最齐全的。尤其是在 Netflix 停止更新了以后Spring Cloud Alibaba 依然在持续更新和迭代。
2、Spring Cloud Alibaba优点
Spring Cloud Alibaba 虽然诞生时间不久但是背靠大树好乘凉赖于阿里巴巴强大的技术影响力已经成为微服务解决方案的重要选择之一。
我认为 Spring Cloud Alibaba 的优势有以下几点
(1)、阿里巴巴强大的技术输出能力
阿里巴巴无疑是国内开源技术领域的最有影响力的公司之一已经有Dubbo、DruidFastJson等成功的开源组件再加上阿里不遗余力的推广社区发展也非常快。
(2)、集成Dubbo利用Dubbo在微服务领域的超高人气
Dubbo是国内应用最广的分布式服务框架之一基于Dubbo改造的Dubbox等也有很多公司在使用 Spring Cloud Alibaba对Dubbo做了比较好的集成可以吸引不少使用Dubbo
的开发者。
(3)、云原生趋势集成阿里云商业化组件
云原生Cloud Native是今年技术领域特别热门的一个词云原生是一种专门针对云上应用而设计的方法用于构建和部署应用以充分发挥云计算的优势。
Spring Cloud Alibaba 集成了阿里云的商业化组件可以说天然支持云原生特性。