阅读文本大概需要3分钟。
Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
已包括的组件有:
Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。
Dubbo:Apache Dubbo™ 是一款高性能 Java RPC 框架。
Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。
Alibaba Cloud ACM:一款在分布式架构环境中对应用配置进行集中管理和推送的应用配置中心产品。
Alibaba Cloud OSS: 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。
Alibaba Cloud SchedulerX: 阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。
Alibaba Cloud SMS: 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。
阿里巴巴提供的方案跟Spring官方提供的方案有一些对应关系:
- Nacos = Eureka/Consule + Config + Admin
- Sentinel = Hystrix + Dashboard + Turbine
- Dubbo = Ribbon + Feign
- RocketMQ = RabbitMQ
- Schedulerx = Quartz
仓库地址:
https://github.com/alibaba/spring-cloud-alibaba
0x01:Sentinel分布式系统的流量防卫兵
仓库地址
https://github.com/alibaba/Sentinel
Sentinel 具有以下特征:
- 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
- 完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
- 广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
- 完善的 SPI 扩展点:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。
Sentinel 的主要特性:
0x02:Nacos服务治理平台
仓库地址
https://github.com/alibaba/nacos
文档地址
https://nacos.io/zh-cn/index.html
一图看懂Nacos
0x03:Dubbo微服务框架
Dubbo在国内互联网公司广泛使用,在过去一段时间阿里里巴巴停更了Dubbo,但是后来发现Dubbo被广泛使用,就又开始更新了,并捐给了Apache管理。
仓库地址
https://github.com/apache/dubbo
文档地址
http://dubbo.apache.org/zh-cn/
Dubbo机构图
0x04:RocketMQ消息队列服务
RocketMQ是阿里巴巴基于JMS规范开发的一个消息服务,目前也交由Apache基金会管理。
仓库地址
https://github.com/apache/rocketmq
RocketMQ各种插件地址,包括管理后台
https://github.com/apache/rocketmq-externals
Schedulerx 还没有研究过,但是基于Nacos 、Sentinel 和Dubbo,不使用Spring官方的Spring Cloud,就可以开发非常厉害的系统。
关注我每天进步一点点
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 2023-05-26:golang关于垃圾回收和析构函数的选择题,多数人会选错。
2023-05-26:golang关于垃圾回收和析构的选择题,代码如下: package main import ( “fmt” “runtime” “time” ) type ListNode struct { Val int Next *ListNode …