关注DD,除了前沿消息,还有每周福利哦

Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案,它是Spring Cloud组件被植入Alibaba元素之后的产物。

利用Spring Cloud Alibaba,可以快速搭建微服务架构并完成技术升级。中小企业如果需要快速落地业务中台和技术中台,并向数字化业务转型,那Spring Cloud Alibaba绝对是一个“神器”。

01 Spring Cloud Alibaba是什么?

Spring Cloud Alibaba与Spring Cloud的关系如下图所示。Spring Cloud Alibaba是Spring Cloud的超集。

如上图所示,业务能力代表应用的服务,服务之间通过HTTP或者Dubbo进行通信。

在没有Spring Cloud Alibaba之前,如果应用使用Spring Cloud 作为基础框架,并使用Spring Cloud生态的服务治理能力(只支持HTTP或者DNS),则其是不能兼容Dubbo服务的。在Spring Cloud Alibaba出现后,服务可以快速地完成HTTP和Dubbo通信的适配。

Spring Cloud Alibaba依赖Spring Cloud,并通过二次开发让开发者使用Spring Cloud更加简单和灵活。开发者可以直接使用Spring Cloud Alibaba来替换Spring Cloud。在Spring Cloud Alibaba出现后,开发者可以在应用中采用Spring Cloud的协议和Dubbo的协议混合通信。

02 切换过来成本大吗?

如果业务原先采用“Spring Cloud + Eureka/Consul”微服务体系,则可以快速切换到Spring Cloud Alibaba微服务体系。

如果业务还停留在单体架构,则可以几乎零成本地切换到Spring Cloud Alibaba微服务体系,风险很小。

如果业务应用要上阿里云,则可以直接采用Spring Cloud Alibaba的商业版来实现,成本非常小。

03 Spring Cloud Alibaba有哪些组件?

Spring Cloud Alibaba 的组件功能既有免费版本,也有收费版本。组件如下。

  • Sentinel:以“流”为切入点,在流量控制、并发性、容错降级和负载保护等方面提供解决方案,以保护服务的稳定性。

  • Nacos:一个具备动态服务发现和分布式配置等功能的管理平台,主要用于构建云原生应用程序。

  • RocketMQ:一个高性能、高可用、高吞吐量的金融级消息中间件。Spring Cloud Alibaba 将RocketMQ 定制化封装,开发人员可“开箱即用”。

  • Dubbo:一个基于Java的高性能开源RPC框架。

  • Seata:一个高性能且易于使用的分布式事务解决方案,可用于微服务架构。

  • 阿里云OSS(阿里云对象存储服务):一种加密的安全云存储服务,可以存储、处理和访问来自世界任何地方的大量数据。

  • 阿里云SchedulerX:一款分布式任务调度产品,支持定期任务和在指定时间点触发任务。

  • 阿里云SMS:一种覆盖全球的消息服务,提供便捷、高效和智能的通信功能,可帮助企业快速联系其客户。

04 学习Spring Cloud Alibaba的建议

下面给出学习Spring Cloud Alibaba的建议:

(1) 需要先了解一下 Spring Boot,但不一定要先学习Spring Cloud。

(2) 最好能实战,俗话说,光说不练假把式,要想快速的上手和熟悉Spring Cloud Alibaba,就得多练习,多实战。

  • 搭建Nacos注册中心环境,用Spring Cloud Alibaba快速初始化一个微服务,验证注册中心的功能,比如服务注册、服务订阅、服务分组、多租户等。

  • 搭建Nacos配置中心环境,用Spring Cloud Alibaba快速初始化一个微服务,验证配置中心功能,比如配置管理、配置信息动态变更、灰度配置等。

  • 搭建Sentinel环境,用Spring Cloud Alibaba快速初始化一个微服务,验证Sentinel的分布式流量治理的功能,比如流量控制、熔断降级、系统自适应保护以及持久化流控规则等。

  • 搭建Seata环境,用Spring Cloud Alibaba快速初始化一个微服务,验证Seata的分布式事务治理的功能,比如AT模式的分布式事务、TCC模式的分布式事务、XA模式的分布式事务以及Saga模式的事务等。

  • 搭建RocketMQ环境,用Spring Cloud Alibaba快速初始化一个微服务,验证RocketMQ的分布式消息的功能,比如消息路由管理、生产消息、消费消息、存储消息、分布式事务消息等。

  • 搭建一个基础网关Spring Cloud Gateway环境,用Spring Cloud Alibaba快速初始化一个微服务,验证网关的功能,比如服务路由、服务鉴权等。

  • 搭Skywalking环境,用Spring Cloud Alibaba快速初始化一个微服务,验证分布式链路追踪的功能、比如不同探针的流量采集、链路数据存储、链路数据清洗等。

  • 搭建Elastic Job环境,用Spring Cloud Alibaba快速初始化一个微服务,验证分布式定时Job的功能,比如定时任务、任务管理以及任务分片等。

  • 搭建ShardingSphere环境,用Spring Cloud Alibaba快速初始化一个微服务,验证分库分表的功能,比如读写分离、分库分表等。

  • 搭建Redis环境,用Spring Cloud Alibaba快速初始化一个微服务,验证Redis的功能,比如基本数据结构的数据存储、分布式锁、分布式缓存等。

  • 搭建Discovery环境,用Spring Cloud Alibaba快速初始化一个微服务,验证Discovery的功能,比如灰度路由、灰度发布以及蓝绿发布等。

(3) 在经过大量的实例练习之后,需要有一个完整的项目去将这些实例给整合在一起,做到从业务中来,到业务中去的效果。

  • 技术一定经过项目的演练和洗礼,才能真正的熟悉它,所以Spring Cloud Alibaba一定要在业务中使用,并落地到真正的项目中,才能实现它的价值。

  • 收集更多的业务场景,这样会更加有驱动力的去优化业务中“基于Spring Cloud Alibaba”的微服务架构。

  • 收集更多的用户体验,这样才能更好的和Spring Cloud Alibaba开源社区保持更多的功能需求的沟通性,并驱动自己去熟悉未知的技术细节。

(4) 处理好“是先学支撑技术,还是一步到位”问题。

首先,Spring Cloud Alibaba是一个微服务基础框架,它本身具备一定的微服务治理的能力,比如分布式服务治理、分布式配置治理、分布式流量治理、分布式事务、分布式网关、分布式消息治理等。如果项目直接使用Spring Cloud Alibaba提供的功能,完全可以满足中等项目的微服务开发的业务场景,开发人员只需要熟悉Spring Cloud Alibaba就可以成为一个微服务领域的开发专家。

其次,既然是微服务基础框架,它还可以扩展自身的没有的微服务治理能力,比如Skywalking、Discovery、ShardingSphere、DataX等。Spring Cloud Alibaba是基于Spring Boot的思想来设计的,Spring Boot又是基于Spring Framework来设计的。也就是说,凡是Spring Framework生态的技术栈,Spring Cloud Alibaba均可以扩展。这样无论是开源社区提供的微服务技术能力,还是公司自研的微服务技术能力,都可以被Spring Cloud Alibaba引入。

最后,Spring Cloud Alibaba是Spring Cloud的超集,它具备Spring Cloud整个微服务生态系统的能力。

总结,Spring Cloud Alibaba绝对是微服务架构领域的巨无霸,通过它开发人员可以快速地搭建高可用、高稳定性和高性能的微服务架构。在搭建的过程中,还会驱动开发人员去扩展Spring Cloud Alibaba还不支持的微服务技术。Spring Cloud Alibaba是让开发人员入门和进阶微服务架构的一步到位的最佳选择,通过它开发人员可以快速地熟悉微服务架构的全栈支撑技术。

如果想要系统学习Spring Cloud Alibaba,推荐阅读 《Spring Cloud Alibaba微服务架构实战派(上下册)》

本书是以“实现完整的Spring Cloud Alibaba微服务架构”为目标,为了这个目标,除介绍Spring Cloud Alibaba这个“主角”外,对于支撑Spring Cloud Alibaba微服务架构的技术(比如Seata、Skywalking、Redis、RocketMQ等)也基本都是从零讲起,保证读者能够平滑地学习。本书是“一站到底”的解决方案:读者只需从这里上车,中途无需转乘,读者需要什么,本书就提供什么,直达终点。

如果喜欢本文欢迎 在看丨留言丨分享至朋友圈 三连

抽奖赠书

截止时间:2022年1月9日 17:00

如何抽奖:点击下方卡片,关注并回复关键词 :20220105

用Spring Cloud Alibaba开发微服务会更香吗?相关推荐

  1. 进击的 Spring Cloud Alibaba —— 框架与服务

    作者 | 陈曦(良名)  Spring Cloud Alibaba 项目成员,start.aliyun.com 负责人. 导读:本文整理自作者于 2020 年云原生微服务大会上的分享<进击的 S ...

  2. 【Spring Cloud Alibaba】Gateway 服务网关

    [Spring Cloud Alibaba]Gateway 服务网关 1 架构图 2 Predicate 断言 3 路由 3.1 静态路由 3.2 动态路由 3.3 Nacos 配置 4 过滤器 4. ...

  3. Spring Cloud Alibaba 大型微服务项目实战

    作者介绍 程序员十三,多年一线开发经验,历任高级开发工程师.后端主程.技术部门主管等职位.同时也是开源项目的爱好者和贡献者.掘金优秀作者.CSDN 博客专家.实体图书作者.专栏作者.视频讲师. 小册介 ...

  4. Spring Cloud Alibaba 分布式微服务高并发数据平台化(中台)思想+多租户saas企业开发架构技术选型和设计方案

    基于Spring Cloud Alibaba 分布式微服务高并发数据平台化(中台)思想+多租户saas设计的企业开发架构,支持源码二次开发.支持其他业务系统集成.集中式应用权限管理.支持拓展其他任意子 ...

  5. 流量暴增,掌门教育如何基于 Spring Cloud Alibaba 构建微服务体系?

    作者 | 童子龙  掌门教育基础架构部架构师 **导读:**本文整理自作者于 2020 年云原生微服务大会上的分享<掌门教育云原生落地实践>,本文主要介绍了掌门教育云原生落地实践,主要围绕 ...

  6. Spring Cloud Alibaba 新一代微服务解决方案

    本篇是「跟我学 Spring Cloud Alibaba」系列的第一篇, 每期文章会在公众号「架构进化论」进行首发更新,欢迎关注. 1.Spring Cloud Alibaba 是什么 Spring ...

  7. Spring Cloud Alibaba——Nacos实现服务治理

    引言 本博客总结微服务开发中各个微服务调用的实现,并使用 Nacos 完成服务注册和发现. 文章中会涉及到 maven 的使用,以及 spring boot 的一些知识.开发工具采用 IDEA 202 ...

  8. Spring Cloud alibaba 使用Nacos服务发现

    Provider 服务端 服务端我们复用前篇Spring Cloud alibaba 使用Nacos配置中心的代码 修改启动类 在启动类上添加@EnableDiscoveryClient 注解 开启服 ...

  9. Spring Cloud Alibaba【Nacos 服务治理】 高可用保证:Nacos 如何有效构建注册中心集群

    上一节我们学习了 Nacos 注册中心的作用以及单点运行的方法,但是单点运行是分布式应用的大忌,在分布式架构中,任何单点都可能成为系统的瓶颈,因此在生产环境中 Nacos 都需要通过部署集群来为系统带 ...

最新文章

  1. Activiti 开始流程时存储发起人员USERID
  2. 【转】为什么自动车完全不可以犯错误
  3. java的servlet是干嘛的_Servlet能够做什么?
  4. mysql按字段拆分表_MYSQL命令怎么实现将表中某个字段中多个记录拆分,急求答案!...
  5. 阿里 AI 研究成果入选国际顶会 ICML 2020,AI 推理速度提升 3 倍
  6. case / switch语句的Python等价物是什么? [重复]
  7. 汉字常用字unicode码表
  8. Ubuntu18 安装MeshLab软件
  9. 【day23】The field file exceeds its maximum permitted size of 1048576 bytes.
  10. 数字图像处理 笔记--2
  11. 星界边境机器人升级,星界边境作弊码分享
  12. swift中检测跳转苹果自带地图、高德地图、百度地图、腾讯地图
  13. 网络营销策略常见方法有哪些?
  14. 蜂窝网实现移动性管理?
  15. 2022-2028年中国红枣行业发展模式分析及市场分析预测报告
  16. week16 csp-m4
  17. 区块链为什么这么火?又是一次不可错过的商机?
  18. dropbox网页版登录_出色的UX:Dropbox在下载页面上关注细节
  19. 如何设置app字体跟随系统_Android 应用全局字体调节或禁止随系统字体大小更改...
  20. 建行计算机面试个人介绍,2013建设银行四川省分行个人面试经验分享

热门文章

  1. 我们学校的DV作品——《感悟青春》
  2. Spring中配置Quartz的misfireInstruction
  3. 浅析大规模DDOS防御架构:应对T级攻防
  4. python paramiko包 ssh报错No existing session 解决方法
  5. linux shell 逻辑判断 [] [[]] -n -z 用法区别
  6. php laravel 框架 APP_KEY 的作用
  7. URI URL 简介区别
  8. docker 容器退出自动删除 一次性运行
  9. docker 占用磁盘空间清理 无用数据卷删除
  10. VMware的快照和克隆总结