阿里妹导读:一年多前,Java 界最近发生了一件大事,阿里开源 Spring Cloud Alibaba,并推出首个预览版。Spring Cloud 本身是一套微服务规范,并不是一个拿来即可用的框架,而 Spring Cloud Alibaba 的开源为开发者们提供了这套规范的实现方式。同时,Spring Cloud Alibaba 提供的完整的微服务组件、中文文档和本地化的开源服务提高了开发者们接入微服务的速率,并降低了后续的运维难度。
经过一年多的孵化,Spring Cloud Alibaba 作为 Spring 社区的唯一一个国产开源项目,正式从 Spring Cloud Incubator 孵化器毕业,并发布了适配 Spring Cloud Edgware、Finchley、Greenwich 三个版本的新版本。
Spring Cloud Alibaba 是 Spring 社区第一个也是唯一一个国产开源项目。
Spring Cloud Alibaba 毕业后从孵化器仓库迁移到了 Github Alibaba 仓库下,新的仓库地址点击这里。 新的 maven 坐标如下:
com.alibaba.cloud spring-cloud-alibaba-dependencies 2.1.0.RELEASEpomimport
Spring Cloud Alibaba 各版本兼容表:
Spring Cloud Alibaba 介绍
Spring Cloud 是 Spring 社区打造出的一款基于 Spring Boot 用于快速构建分布式系统的框架,主要包括以下特性:
Spring Cloud Alibaba 是阿里巴巴开源中间件跟 Spring Cloud 体系的融合:
作为 Spring Cloud 体系下的新实现,Spring Cloud Alibaba 跟官方的组件或其它的第三方实现如 Netflix, Consul,Zookeeper 等对比,具备了更多的功能:
Spring Cloud Alibaba 功能
总体架构
依托 Spring Cloud Alibaba,只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。
服务注册 & 配置管理
服务注册 & 配置管理是微服务应用中必不可少的两大基础功能。
Spring Cloud Alibaba 基于 Nacos 提供 spring-cloud-alibaba-starter-nacos-discovery & spring-cloud-alibaba-starter-nacos-config 实现了服务注册 & 配置管理功能。
依靠 @EnableDiscoveryClient 进行服务的注册,兼容 RestTemplate & OpenFeign 的客户端进行服务调用。
OpenFeign 客户端:
@FeignClient(name = "echo-service")public interface EchoService { @RequestMapping(value = "/echo/{str}