开发者社区> 问答> 正文

Spring Cloud Alibaba:Spring 社区的唯一国产开源项目

Spring Cloud Alibaba现已升级到2.1.0。Spring Cloud Alibaba为分布式应用程序开发提供了一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松地使用Spring Cloud开发应用程序。

使用Spring Cloud Alibaba,您只需添加一些注释和少量配置即可将Spring Cloud应用程序连接到Alibaba的分布式解决方案,并使用Alibaba中间件构建分布式应用程序系统。官方内容

特征

流量控制和服务降级: 使用Sentinel进行流量控制,断路和系统自适应保护。
服务注册和发现: 实例可以在Nacos上注册,客户可以使用Spring管理的bean发现实例。支持通过Spring Cloud Netflix的客户端负载均衡器Ribbon。
分布式配置: 使用Nacos作为数据存储。
事件驱动: 构建与Spring Cloud Stream RocketMQ Binder连接的高度可扩展的事件驱动微服务。
消息总线: 使用Spring Cloud Bus RocketMQ链接分布式系统的节点。
分布式事务: 支持高性能且易于使用的Seata分布式事务解决方案。
Dubbo RPC: 通过Dubbo RPC扩展Spring Cloud服务到服务调用的通信协议。
阿里云对象存储: OSS的Spring资源抽象。阿里云对象存储服务(OSS)是一种加密,安全,经济高效且易于使用的对象存储服务,可让您在云中存储,备份和存档大量数据。

组件

Sentinel: Sentinel以“业务流”为切入点,并在流量控制,并发性,电路中断和负载保护等领域提供解决方案,以保护服务稳定性。
Nacos: 一个易于使用的动态服务发现,配置和服务管理平台,用于构建云本机应用程序。
RocketMQ: 一个分布式消息传递和流平台,具有低延迟,高性能和可靠性,万亿级容量和灵活的可伸缩性。
Dubbo: 一个基于Java的高性能开源RPC框架。
Seata: 一种高性能且易于使用的分布式事务解决方案,可用于微服务架构。
阿里云ACM: 一个应用程序配置中心,可让您集中管理应用程序配置,并在分布式环境中完成实时配置推送。
阿里云OSS: 一种加密的安全云存储服务,可以存储,处理和访问来自世界任何地方的大量数据。
阿里云短信: 阿里云短信服务覆盖全球,可提供便捷,高效,智能的通信功能,帮助企业快速联系客户。
阿里云SchedulerX: 准确,高度可靠和高可用性的计划作业调度服务,响应时间在几秒钟。

入门

最简单的入门方法是包含Spring Cloud BOM,然后将其添加

spring-cloud-alibaba-dependencies

到应用程序的类路径中。如果您不想包括所有Spring Cloud Alibaba功能,则可以为所需的功能添加单个启动器。

spring-cloud-alibaba-dependenciespom

中的依赖项:

<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>

Spring Cloud阿里巴巴&Spring Cloud&Spring Boot兼容性表:

image.png

只要Spring Cloud Alibaba Nacos和Nacos API在类路径上,任何Spring Boot应用程序

@EnableDiscoveryClient

都将尝试通过以下方式联系Nacos服务器localhost:8848默认值为

spring.cloud.nacos.discovery.server-addr
@SpringBootApplication
public class Application {

  @RequestMapping("/")
  public String home() {
    return "Hello World";
  }

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }

}

本地Nacos服务器必须正在运行。请参阅有关如何运行Nacos服务器的Nacos文档

Spring Cloud Alibaba参考文档
Spring Cloud Alibaba代码示例

技术交流群

加入阿里云钉钉群享福利:每周技术直播,定期群内有奖活动、大咖问答

image

展开
收起
珍宝珠 2020-02-17 17:19:23 8740 0
1 条回答
写回答
取消 提交回答
  • get

    2020-02-21 15:57:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载