阿里巴巴开源 Spring Cloud Alibaba,加码微服务生态建设
本周,Spring Cloud联合创始人Spencer Gibb在Spring官网的博客页面宣布:阿里巴巴开源 Spring Cloud Alibaba,并发布了首个预览版本。随后,Spring Cloud 官方Twitter也发布了此消息,以下翻译自博客原文。

大家好,很高兴地告诉大家,今天 Spring Cloud Alibaba 的第一个版本发布了。
Spring Cloud Alibaba项目由两部分组成:阿里巴巴开源组件和阿里云产品组件,旨在为Java开发人员在使用阿里巴巴产品的同时,通过利用 Spring 框架的设计模式和抽象能力,注入Spring Boot和Spring Cloud的优势。
Spring Cloud Alibaba 项目是由阿里巴巴维护的社区项目。
注意: 版本 0.2.0.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.0.RELEASE 对应的是 Spring Boot 1.x 版本.
一、阿里巴巴开源组件
其中阿里巴巴开源组件的命名前缀为spring-cloud-alibaba,提供了如下特性:
| 服务发现
实现了 Spring Cloud common 中定义的 registry 相关规范接口,引入依赖并添加一些简单的配置即可将你的服务注册到Nacos Server中,并且支持与Ribbon的集成。
| 配置管理
实现了 PropertySoureLocator 接口,引入依赖并添加一些简单的配置即可从 Nacos Server 中获取应用配置并设置在 Spring 的 Environment 中,而且无需依赖其他组件即可支持配置的实时推送和推送状态查询。
| 高可用防护
默认集成了 Servlet、RestTemplate、Dubbo、RocketMQ 的限流(Flow Control)降级(Circuit Breaking and Concurrency),只需要引入依赖即可完成限流降级的集成动作,并支持在应用运行状态下通过 Sentinel 控制台来实时修改限流降级的策略和阈值。
二、阿里云产品组件
阿里云的产品组件的命名前缀为 spring-cloud-alicloud ,提供了如下特性:
| 应用发现服务
阿里云应用发现服务ANS,除了应用发现的基本功能外,提供了更低成本的 SaaS 化应用发现服务,同时在接口的调用中加入了加密逻辑,更好地保护你的服务。
| 配置管理服务
阿里云配置管理服务ACM,加强了安全的配置管理,并且还包含了完整的推送轨迹查询。
| 对象存储服务
阿里云云存储服务OSS,支持在任何应用、任何时间、任何地点存储和访问任意类型的数据, 只需要自动注入一个 OSS Client,即可直接使用存储与下载功能。
三、如何使用
这些组件在 Spring release 仓库中,可以通过如下 BOM 来使用:

四、后续规划
1. spring-cloud-stream-binder-rocket 模块将基于 Spring Integration和Spring Cloud Stream,使得开发者在使用 Spring Cloud Stream 和 Spring Cloud Bus 时候可以选择使用 RocketMQ 作为消息中间件。
2. Spring Cloud Alibaba将集成阿里云分布式任务调度SchedulerX 和阿里云日志服务,支持开发者使用 Spring Boot 编程模型简化其使用。
据 Spring Cloud Alibaba 高级开发工程师亦盏介绍,Spring Cloud本身是一套微服务规范,并不是一个拿来即可用的框架,而 Spring Cloud Alibaba的开源为开发者们提供了这套规范的实现方式。同时,Spring Cloud Alibaba的组件,孵化自阿里巴巴内部自用的中间件产品,经历过多次双十一的考验,具备高并发的抗压能力。此外,其完整的中文文档和本地化的开源服务将提高开发者们的接入速率,并降低后续的运维难度。
阿里巴巴开源 Spring Cloud Alibaba,加码微服务生态建设的更多相关文章
- Spring Cloud Alibaba 新一代微服务解决方案
本篇是「跟我学 Spring Cloud Alibaba」系列的第一篇, 每期文章会在公众号「架构进化论」进行首发更新,欢迎关注. 1.Spring Cloud Alibaba 是什么 Spring ...
- 7.【Spring Cloud Alibaba】微服务的用户认证与授权
有状态 vs 无状态 有状态 那么Session在何时创建呢? 当然还是在服务器端程序运行的过程中创建的,不同语言实现的应用程序有不同创建Session的方法,而在Java中是通过调用HttpServ ...
- 《Spring Cloud与Docker微服务架构实战》配套代码
不才写了本使用Spring Cloud玩转微服务架构的书,书名是<Spring Cloud与Docker微服务架构实战> - 周立,已于2017-01-12交稿.不少朋友想先看看源码,现将 ...
- SpringCloud(9)使用Spring Cloud OAuth2保护微服务系统
一.简介 OAth2是一个标准的授权协议. 在认证与授权的过程中,主要包含以下3种角色. 服务提供方 Authorization Server. 资源持有者 Resource Server. 客户端 ...
- Spring Cloud与Docker微服务架构实战 PDF
电子版百度云下载 链接: https://pan.baidu.com/s/115u011CJ8MZzJx_NqutyTQ 提取码: 关注公众号[GitHubCN]回复2019获取 本书的代码 共计70 ...
- Spring Cloud与Docker微服务架构实战 PDF版 内含目录
Spring Cloud与Docker微服务架构实战 目录 1 微服务架构概述 1 1.1 单体应用架构存在的问题1 1.2 如何解决单体应用架构存在的问题3 1.3 什么是微服务3 1.4 微服务 ...
- Spring Cloud与Docker——微服务架构概述
Spring Cloud与Docker--微服务架构概述 单体应用架构概述 微服务概述 微服务的特性 微服务架构的优点 微服务面临的挑战 微服务的设计原则 单体应用架构概述 传统的服务发布都是采用单体 ...
- Spring Cloud Alibaba(8)---Feign服务调用
Feign服务调用 有关Spring Cloud Alibaba之前写过五篇文章,这篇也是在上面项目的基础上进行开发. Spring Cloud Alibaba(1)---入门篇 Spring Clo ...
- Spring Cloud Alibaba 之 user服务
项目技术选型 Spring Boot Spring MVC MyBatis + 通用Mapper (官网信息https://mapperhelper.github.io/docs/) Spring C ...
随机推荐
- YoLov3训练自己的数据集
工具:labelimg.MobaXterm 1.标注自己的数据集.用labelimg进行标注,保存后会生成与所标注图片文件名相同的xml文件,如图.我们标注的是井盖和路边栏,名称分了NoManhole ...
- 03-自己封装DateUtil工具类
package com.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.u ...
- android 中activity重启的方法
private void reLoadActivity(){ Intent intent = new Intent(context, SettingsActivity.class); intent.s ...
- C语言排序算法学习笔记——选择类排序
选择排序:每一趟(例如第i趟)在后面n-i+1(i=1,2,3,……,n-1)个待排序元素中选取关键字最小的元素,作为有序子序列的第i个元素,直到n-1趟做完,待排序元素只剩下1个,就不用再选了. 简 ...
- 使用nodeValue获取值与a标签默认跳转的冲突问题
今天看javascript DOM编程艺术(第2版)发现这样一个例子: 效果图: 完整代码: <!DOCTYPE html> <html lang="en"> ...
- flask同源策略解决办法及flask-cors只允许特定域名跨域
falsk 同源策略解决办法: 使用 flask-cors 包 并且 在代码里 加响应的一行代码解决. from flask import Flask, session from flask_cors ...
- 关于使用echarts走过的坑(同grid多图、多轴系列)
相信大家在工作中,经常会用到echarts,今天我说下我在工作中浪费时间较长的坑 先来看看我的终极需要实现的图吧: 相信以上效果对于常用的小伙伴来说并不困难, 在此我只说option的配置,关于数据, ...
- Oracle监听已经启动了 sqlplus / as sysdba 仍然报 ERROR:ORA-12560
我的Oracle是11g的 system 的密码忘记了, 但是scott的密码我还记得而且能登录 . 想以sqlplus /as sysdba 修改system密码 一直在报 ERROR:ORA-12 ...
- js基础面试篇
1,js中的new做了什么? function Person () { this.name = name; this.age = age; this.sex = sex this.sayName = ...
- 编程实现将一个N进制数转换成M进制数
问题:编程实现将一个N进制数转换成M进制数.(c/c++.Java.Javascript.C#.Python) 1.Python 手写算法版 def conversion_num(num, src, ...