1、SpringCloud和SpringCloudAlibaba的区别
SpringCloudAlibaba实际上对我们的SpringCloud2.x和1.x实现拓展组件功能。
nacos是分布式配置中心+分布式注册中心=Eureka+config。
研发SpringCloudAlibaba目的是为了推广阿里的产品,如果使用了SpringCloudAlibaba,最好使用alibaba整个体系产品。
SpringCloud | SpringCloudAlibaba | |
注册中心 | Eureka | nacos |
消息中间件 | 无(第三方替代方案:rabbitmq) | RocketMQ |
分布式事务解决方案 | 无(第三方替代方案:2pc) | Seata |
分布式调度服务 | 无(第三方替代方案:xxl-job) | Alibaba Cloud SchedulerX |
短信平台 | 无 | Alibaba Cloud SMS |
分布式配置中心 | SpringCloudConfig | nacos |
熔断降级 | Hystrix | Sentinel |
网关 | zuul | gateway |
2、SpringCloud Alibaba与Spring Cloud搭配方案
Spring Cloud Alibaba致力于提供微服务开发一站式解决方案。此项目包括开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
依托 Spring Cloud Alibaba,你只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里云中间件来迅速搭建分布式应用系统。
3、SpringCloud几大痛点
SpringCloud 部分组件停止维护和更新,给开发者带来不便。
SpringCloud 部分环境搭建复杂,没有完善的可视化界面,我们需要大量的二次开发和定制。
SpringCloud配置复杂,难以上手,部分配置差别难以区分和合理应用。
4、SpringCloud Alibaba 的优势
阿里使用过的组件经历了考验,性能强悍,设计合理,现在开源出来给大家用。
成套产品搭配完善的可视化界面给开发运维带来了极大的便利。
搭建简单,学习曲线低。
5、SpringCloud Alibaba 和 Spring Cloud 搭配方案
SpringCoud Alibaba-Nacos
:注册中心(服务发现/注册)SpringCoud Alibaba-Nacos
:配置中心(动态配置管理)SpringCoud Alibaba-Sentinel
:服务容错(限流、降级、熔断)SpringCoud Alibaba-Seata
:原 Fescar,即分布式解决方案SpringCoud-Ribbon
:负载均衡SpringCoud-Feign
:声明式HTTP客户端(调用远程服务)SpringCoud-Gateway
:API网关(webflux编程模式)SpringCoud-Sleuth
:调用链监控
6、版本配套关系
Spring Cloud Version | Spring Cloud Alibaba | Spring Boot Version |
Spring Cloud Greenwich | 2.1.x REALEASE | 2.1.x REALEASE |
Spring Cloud Finchley | 2.0.x REALEASE | 2.0.x REALEASE |
Spring Cloud Edgware | 1.5.x REALEASE | 1.5.x REALEASE |
7、Spring Cloud Alibaba的依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>