Spring Cloud

大家好,我是DD! 近日,Spring Cloud Tencent 于6月14日正式对外开源,作为腾讯开源的一站式微服务框架,Spring Cloud Tencent 实现了 Spring Cloud 标准微服务 SPI ,开发者可以基于 Spring Cloud Tencent 快速开发 Spring Cloud 微服务架构应用。Spring Cloud Tencent 的核心依托腾讯开源的一站式服务发现与治理平台 Polarismesh ,实现各种分布式微服务场景。 作者简介张乐 腾讯云技术专家,Spring Cloud Tencent 社区负责人,腾讯云微服务引擎 TSE 核心研发。一直致力于微服务领域研发工作,例如配置中心、注册中心、服务治理等领域。 张皓天 腾讯高级研发工程师,Spring Cloud Tencent PMC,Polaris Java PMC。 为什么要做 ...

大家好,DD又来了! 3月9日,Spring官方博客发文:Spring Cloud Alibaba 2021.0.1.0发布了。 前段时间DD还在微信群里看到小伙伴吐槽Spring Cloud Alibaba更新太慢了。大概官方人员看到了?这不,最新版本来了! 这次发布的Spring Cloud Alibaba 2021.0.1.0版本基于Spring Boot 2.6.3和Spring Cloud 2021.0.1。要升级的小伙伴一定注意这个版本基线! 突然发现,官博这里还烦了个小错误,把Spring Boot写成Spring Cloud了… 版本内容下面一起看看这个版本内容吧: Nacos:将Nacos客户端升级到1.4.2版本,修复Nacos 1.4.1中的相关问题,支持Nacos服务发现故障和容错。 RocketMQ:升级到4.9.2,之前项目中RocketMQ的单独分支...

3月1日,Spring官方博客发布了一篇关于Spring Cloud Gateway的CVE报告。 其中包含一个高风险漏洞和一个中风险漏洞,建议有使用Spring Cloud Gateway的用户及时升级版本到3.1.1+、3.0.7+或采用其他缓解方法加强安全防护。 有涉及的小伙伴可以看看下面具体这两个漏洞的内容和缓解方法。 CVE-2022-22947:代码注入漏洞严重性:Critical 漏洞描述:使用Spring Cloud Gateway的应用程序在Actuator端点在启用、公开和不安全的情况下容易受到代码注入的攻击。攻击者可以恶意创建允许在远程主机上执行任意远程执行的请求。 影响范围: Spring Cloud Gateway以下版本均受影响: 3.1.0 3.0.0至3.0.6 其他老版本 缓解方法: 受影响版本的用户可以通过以下措施补救。 3.1.x用户应升级...

Spring Cloud 2020.0.5 正式发布,这是错误修正版本。兼容 Spring Boot 2.4.x and 2.5.x, 不支持 2.6.x (请使用 Spring Cloud 2021) 目前已经可以从中央仓库获取,坐标如下: <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>2020.0.5</version> ...

美国时间12月2日,Spring Cloud 正式发布了第一个支持 Spring Boot 2.6 的版本,版本号为:2021.0.0,codename 为 Jubilee。 在了解具体更新内容之前,先提个最重要的点:2021.0.0版本对应的Spring Boot是从2.6.1开始的,所以如果在升级的时候不要用2.6.0版本。 好了,下面就跟DD一起来看看这个版本的内容吧! 更新内容Spring Cloud Commons 支持为每个负载均衡进行配置,该特性也同样适用于Gateway、Contract和Openfeign。 Spring Cloud Config 增加与AWS Secrets Manager、AWS Parameter Store和GCP Secret Manager的集成。 Spring Cloud Gateway 支持基于Redis的动态路由 支持HTTP 2...

在上一篇实现了Spring Cloud资源服务器的定制化,但是又发现了一个新的问题,Spring Cloud微服务调用的过程中需要令牌中继。只有令牌中继才能在调用链中保证用户认证信息的传递。今天就来分享一下如何在Feign中实现令牌中继。 令牌中继令牌中继(Token Relay)是比较正式的说法,说白了就是让Token令牌在服务间传递下去以保证资源服务器能够正确地对调用方进行鉴权。 令牌难道不能在Feign自动中继吗?如果我们携带Token去访问A服务,A服务肯定能够鉴权,但是A服务又通过Feign调用B服务,这时候A的令牌是无法直接传递给B服务的。这里来简单说下原因,服务间的调用通过Feign接口来进行。在调用方通常我们编写类似下面的Feign接口: @FeignClient(name = "foo-service",fallback = FooClient.Fallback.c...

我在上一篇对资源服务器进行了简单的阐述,让大家对资源服务器的概念有了简单的认识,今天我将用实际例子来演示单体应用改造为Spring Cloud微服务时的资源服务器实现。 资源服务器改造以Spring Security实战干货的DEMO为例子,原本它是一个单体应用,认证和授权都在一个应用中使用。改造为独立的服务后,原本的认证就要剥离出去(这个后续再讲如何实现),服务将只保留基于用户凭证(JWT)的访问控制功能。接下来我们将一步步来实现该能力。 所需依赖在Spring Security的基础上,我们需要加入新的依赖来支持OAuth2 Resource Server和JWT。我们需要引入下面几个依赖库: <dependency> <groupId>org.springframework.boot</groupId> <artifactI...

Spring Cloud 2021.0.0-M2 已发布,代号”Jubilee”,可从 Spring Milestone 仓库获取新版本,相关 issue 和 PR 信息查看其 GitHub 项目页面。 另外,此版本与 Spring Boot 2.6.0-M3 兼容。 Spring Cloud Commons调整用于 Sleuth 的NamedContextFactoryAPI Spring Cloud ConfigJDBC Environment 仓库支持除 String 之外的其他类型 issue 1952 Spring Cloud Contract 支持 UUID v4,以及修复大小写敏感问题 issue 1688 使用独立的 docker 镜像时支持自定义build.gradleissue 1672 Spring Cloud Gateway支持 HTTP 2 协议 issu...

Spring Cloud 2020.0.4 正式发布,这是错误修正版本。兼容 Spring Boot 2.4.x and 2.5.x。目前已经可以从中央仓库获取,坐标如下: <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>2020.0.4</version> <type>pom</type>...

7月12日消息,Spring Cloud Alibaba新版本2.2.6发布,该版本适配Spring Cloud Hoxton.SR9。 下面一起来看看该版本内容: 特性增强Nacos 支持服务注册的快速失败配置spring.cloud.nacos.discovery.fail-fast,默认为false #2104 Dubbo 重构Dubbo的集成 #2101 #2121 缺陷修复Nacos 修复Nacos在k8s环境下,因DNS不起作用而导致不工作的问题 alibaba/nacos#5291 修复当实例不在默认组下时无法获取实例的问题 #2113 修复NacosWatch对zipkin跟踪的影响 #2140 Dubbo 修复了SCA中组聚合不起作用的问题 #1992 修复SCA dubbo TagRouter的元数据错误 #2031 #2037 修复服务更改期间出现...

2021年5月28日,Spring Cloud发布2020.0.3版本。该版本已经可以在Maven Central中找到。 版本内容该版本是一个Bug修复和依赖升级版本。其中主要更新的内容如下: Spring Cloud Commons 增加禁用负载均衡的属性配置 #940 Spring Cloud Config 修复了几个用Spring Cloud Config Server时候,spring.config.import配置相关的Bug Spring Cloud Consul 修复与spring.config.import相关的远程配置与本地配置的特定问题 #706 Spring Cloud Kubernetes 基于DiscoveryClient实现的时候默认使用当前namespace (#678) Spring Cloud CircuitBreaker Rea...

这几天在不同的微信群和社区里连续碰到了类似的问题: 比如spring4all的帖子:http://bbs.spring4all.com/thread/21 又比如今天在秦总的群里也进行了类似的讨论。 虽然描述不同,但核心都围绕着一个问题:两个不同注册中心下的服务要如何互相调用? 下面就针对这个问题,展开说说我的思考、实践与建议。 为什么会有这样的场景?先来说说背景问题,有的群友在看到这类问题的时候,第一反应就是怎么用多个注册中心,是不是蛋疼了瞎搞的? 显然有点脑子的人都不会这样做!那么为什么会存在这样的场景呢,通常都是这样演变而来的: 缺少统一的基础技术平台管理,几乎所有做大的企业都会碰到这样的问题。为了业务野蛮发展的时期,技术团队是很少有精力去做这些治理的,通过系统边界划分好之后,因为系统与系统间的交互通过协议定义规范就好,每个系统内部的技术栈根据团队特性选择自己最擅长的就行...

Spring Cloud 2020.0.2 (aka Ilford) 已发布,这是一个小版本升级,更新内容主要是修复 bug 以及升级依赖,可从 Maven Central 获取更新。 以下模块作为 Spring Cloud 2020.0.2 的一部分已升级: Module Version Issues Spring Cloud Bus 3.0.2 Spring Cloud Circuitbreaker 2.0.1 Spring Cloud Cli 3.0.2 Spring Cloud Cloudfoundry 3.0.1 Spring Cloud Commons 3.0.2 Spring Cloud Config 3.0.3 Spring Cloud Consul 3.0.2 Spring Cloud Contract 3.0...

Spring Cloud Alibaba 2.2.4 已经发布,目前已可以从 maven 仓库获取,坐标如下: <dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.4.RELEASE</version> <type>pom</type> <scope>...

2020年12月22日,Spring Cloud 2020.0 正式发布GA版本! 版本说明每次Spring Cloud的大版本发布,我们都要先弄清楚,它对应的Spring Boot版本是哪个! 该版本的Spring Cloud对应的是Spring Boot 2.4,但需要注意的是,必须从2.4.1开始。 由于Spring Boot 2.4.0中大量配置相关的Bug。因此要使用这个最新的Spring Cloud版本,就必须选用 Spring Boot 2.4.1 及之后的版本构建应用。 更多版本关系和文档索引可见:springcloud.com.cn。如果您正要学习Spring Cloud,那么我的这个免费教程可能很适合你哟! 更新内容发布内容 Spring Cloud Commons的Bootstrap被默认禁用。导入配置的新方法采用Spring Boot 2.4新出的spr...