这个注解一次搞定限流与熔断降级:@SentinelResource

2019-07-02
阅读 7 分钟
5k
在之前的《使用Sentinel实现接口限流》一文中,我们仅依靠引入Spring Cloud Alibaba对Sentinel的整合封装spring-cloud-starter-alibaba-sentinel,就完成了对所有Spring MVC接口的限流控制。然而,在实际应用过程中,我们可能需要限流的层面不仅限于接口。可能对于某个方法的调用限流,对于某个外部资源的调用限流等都希...

Spring Cloud Alibaba基础教程:Sentinel Dashboard中修改规则同步到Nacos

2019-05-22
阅读 5 分钟
1.9k
上一篇我们介绍了如何通过改造Sentinel Dashboard来实现修改规则之后自动同步到Apollo。下面通过这篇,详细介绍当使用Nacos作为配置中心之后,如何实现Sentinel Dashboard中修改规则同步到Nacos。关于下面改造的原理和分析可以见上一篇《Sentinel Dashboard中修改规则同步到Apollo》的头两节内容,这里不重复介绍了。

公益:开放一台Nacos服务端给各位Spring Cloud爱好者

2019-05-14
阅读 1 分钟
2k
之前开放过一台公益Eureka Server给大家,以方便大家在阅读我博客中教程时候做实验。由于目前在连载Spring Cloud Alibaba,所以对应的也部署了一台Nacos,并且也开放出来,给大家学习测试之用。

Nacos部署中的一些常见问题汇总

2019-05-10
阅读 3 分钟
12.7k
开个帖子,汇总一下读者经常提到的一些问题 问题一:Ubuntu下启动Nacos报错 问题描述 使用命令sh startup.sh -m standalone启动报错: {代码...} 解决方法 改用命令bash -f ./startup.sh -m standalone启动 问题二:Failed to create database '/data/soft/nacos/data/derby-data' 问题描述 使用命令sh startup.sh -m st...

Sentinel Dashboard中修改规则同步到Apollo存储

2019-05-07
阅读 7 分钟
4.2k
在之前的两篇教程中我们分别介绍了如何将Sentinel的限流规则存储到Nacos和Apollo中。同时,在文末的思考中,我都指出了这两套整合方案都存在一个不足之处:不论采用什么配置中心,限流规则都只能通过Nacos界面或Apollo界面来完成修改才能得到持久化存储,而在Sentinel Dashboard中修改限流规则虽然可以生效,但是不会被...

Spring Cloud Alibaba 新版本发布:众多期待内容整合打包加入!

2019-04-22
阅读 3 分钟
1.4k
在Nacos 1.0.0 Release之后,Spring Cloud Alibaba也终于发布了最新的版本。该版本距离上一次发布,过去了整整4个月!下面就随我一起看看,这个大家期待已久的版本都有哪些内容值得我们关注。

Spring Cloud Alibaba基础教程:Sentinel使用Apollo存储规则

2019-04-21
阅读 4 分钟
3.4k
上一篇我们介绍了如何通过Nacos的配置功能来存储限流规则。Apollo是国内用户非常多的配置中心,所以,今天我们继续说说Spring Cloud Alibaba Sentinel中如何将流控规则存储在Apollo中。

Spring Cloud Alibaba基础教程:Sentinel使用Nacos存储规则

2019-04-17
阅读 5 分钟
1.6k
通过上一篇《使用Sentinel实现接口限流》的介绍,相信大家对Sentinel已经有了初步的认识。在Spring Cloud Alibaba的整合封装之下,接口限流这件事情可以非常轻易的整合到我们的Spring Cloud应用中。但是,通过上篇的整合,依然还不能完美的满足我们日常的生产需求。其中,非常重要的一点就是限流规则的持久化问题。不少...

Spring Cloud Alibaba基础教程:使用Sentinel实现接口限流

2019-04-11
阅读 4 分钟
2.7k
最近管点闲事浪费了不少时间,感谢网友libinwalan的留言提醒。及时纠正路线,继续跟大家一起学习Spring Cloud Alibaba。

说说我为什么看好Spring Cloud Alibaba

2019-03-29
阅读 2 分钟
4.7k
最近对《Spring Cloud Alibaba基础教程》系列的催更比较多,说一下最近的近况:因为打算Spring Boot 2.x一起更新。所以一直在改博客Spring Boot专题页和Git仓库的组织。由于前端技术太过蹩脚,花了不少时间。大家不用担心,这个系列不会太监,因为我真心看好这个套件的未来,后续的更新也会继续赶上来。

Spring Cloud Alibaba与Spring Boot、Spring Cloud之间不得不说的版本关系

2019-03-04
阅读 2 分钟
2.9k
这篇博文是临时增加出来的内容,主要是由于最近连载《Spring Cloud Alibaba基础教程》系列的时候,碰到读者咨询的大量问题中存在一个比较普遍的问题:版本的选择。其实这类问题,在之前写Spring Cloud基础教程的时候,就已经发过一篇《聊聊Spring Cloud版本的那些事儿》,来说明Spring Boot和Spring Cloud版本之间的关系。

Spring Cloud Alibaba基础教程:Nacos的集群部署

2019-02-21
阅读 5 分钟
4.4k
前情回顾: 《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》 《Spring Cloud Alibaba基础教程:支持的几种服务消费方式》 《Spring Cloud Alibaba基础教程:使用Nacos作为配置中心》 《Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解》 《Spring Cloud Alibaba基础教程:Nacos配置的多环境管理...

Spring Cloud Alibaba基础教程:Nacos的数据持久化

2019-02-18
阅读 2 分钟
3.2k
前情回顾: 《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》 《Spring Cloud Alibaba基础教程:支持的几种服务消费方式》 《Spring Cloud Alibaba基础教程:使用Nacos作为配置中心》 《Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解》 《Spring Cloud Alibaba基础教程:Nacos配置的多环境管理...

Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置

2019-02-10
阅读 4 分钟
3.1k
前情回顾: 《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》 《Spring Cloud Alibaba基础教程:支持的几种服务消费方式》 《Spring Cloud Alibaba基础教程:使用Nacos作为配置中心》 《Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解》 《Spring Cloud Alibaba基础教程:Nacos配置的多环境管理...

Spring Cloud Alibaba基础教程:Nacos配置的多环境管理

2019-02-01
阅读 4 分钟
3.4k
前情回顾: 《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》 《Spring Cloud Alibaba基础教程:支持的几种服务消费方式》 《Spring Cloud Alibaba基础教程:使用Nacos作为配置中心》 《Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解》 通过之前两篇对Nacos配置管理功能的介绍,已经学会了在Na...

Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解

2019-01-31
阅读 2 分钟
2.1k
前情回顾: 《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》 《Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)》 《Spring Cloud Alibaba基础教程:使用Nacos作为配置中心》 上一篇,我们学习了如何在Nacos中创建配置,以及如何使用Spring Cloud Alibaba的Na...

Spring Cloud Alibaba基础教程:使用Nacos作为配置中心

2019-01-30
阅读 5 分钟
7.2k
我们已经学会了,如何利用Nacos实现服务的注册与发现。同时,也介绍了在Spring Cloud中,我们可以使用的几种不同编码风格的服务消费方式。接下来,我们再来一起学习一下Nacos的另外一个重要能力:配置管理。

Spring Cloud Alibaba基础教程:支持的几种服务消费方式

2019-01-29
阅读 4 分钟
2.3k
通过《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBalancerClient接口来获取某个服务的具体实例,并根据实例信息来发起服务接口消费请求。但是这样的做法需要我们手工的去编写服务选取、链接拼接等繁琐的工作,...

Spring Cloud Alibaba基础教程:Nacos 生产级版本 0.8.0

2019-01-24
阅读 2 分钟
2.2k
昨晚Nacos社区发布了第一个生产级版本:0.8.0。由于该版本除了Bug修复之外,还提供了几个生产管理非常重要的特性,所以觉得还是有必要写一篇讲讲这次升级,在后续的文章中也都将以0.8.0版本为基础。

Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

2019-01-16
阅读 6 分钟
5.6k
自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少团队的支持;同时,由于Spring Cloud Alibaba中的几项主要功能都直指Netflix OSS中的重要组件,而后者最近频繁宣布各组件不在更...

Spring Cloud Stream 使用延迟消息实现定时任务(RabbitMQ)

2019-01-04
阅读 5 分钟
6.3k
我们在使用一些开源调度系统(比如:elastic-job等)的时候,对于任务的执行时间通常都是有规律性的,可能是每隔半小时执行一次,或者每天凌晨一点执行一次。然而实际业务中还存在另外一种定时任务,它可能需要一些触发条件才开始定时,比如:编写博文时候,设置2小时之后发送。对于这些开始时间不确定的定时任务,我们...

Spring Cloud Stream同一通道根据消息内容分发不同的消费逻辑

2018-12-27
阅读 3 分钟
2.5k
有的时候,我们对于同一通道中的消息处理,会通过判断头信息或者消息内容来做一些差异化处理,比如:可能在消息头信息中带入消息版本号,然后通过if判断来执行不同的处理逻辑,其代码结构可能是这样的:

Spring Cloud Stream消费失败后的处理策略(四):重新入队(RabbitMQ)

2018-12-17
阅读 3 分钟
1.7k
之前我们已经通过《Spring Cloud Stream消费失败后的处理策略(一):自动重试》一文介绍了Spring Cloud Stream默认的消息重试功能。本文将介绍RabbitMQ的binder提供的另外一种重试功能:重新入队。

Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)

2018-12-17
阅读 4 分钟
3.4k
那么如果代码本身存在逻辑错误,无论重试多少次都不可能成功,也没有具体的降级业务逻辑,之前在深入思考中讨论过,可以通过日志,或者降级逻辑记录的方式把错误消息保存下来,然后事后分析、修复Bug再重新处理。但是很显然,这样做非常原始,并且太过笨拙,处理复杂度过高。所以,本文将介绍利用中间件特性来便捷地处理...

Spring Cloud Stream消费失败后的处理策略(二):自定义错误处理逻辑

2018-12-15
阅读 4 分钟
1.5k
上一篇《Spring Cloud Stream消费失败后的处理策略(一):自动重试》介绍了默认就会生效的消息重试功能。对于一些因环境原因、网络抖动等不稳定因素引发的问题可以起到比较好的作用。但是对于诸如代码本身存在的逻辑错误等,无论重试多少次都不可能成功的问题,是无法修复的。对于这样的情况,前文中说了可以利用日志记...

Spring Cloud Stream消费失败后的处理策略(一):自动重试

2018-12-13
阅读 8 分钟
3.9k
之前写了几篇关于Spring Cloud Stream使用中的常见问题,比如: 如何处理消息重复消费 如何消费自己生产的消息 下面几天就集中来详细聊聊,当消息消费失败之后该如何处理的几种方式。不过不论哪种方式,都需要与具体业务结合,解决不同业务场景可能出现的问题。 今天第一节,介绍一下Spring Cloud Stream中默认就已经配...

Spring Cloud Stream如何处理消息重复消费?

2018-11-26
阅读 3 分钟
2.3k
最近收到好几个类似的问题:使用Spring Cloud Stream操作RabbitMQ或Kafka的时候,出现消息重复消费的问题。通过沟通与排查下来主要还是用户对消费组的认识不够。其实,在之前的博文以及《Spring Cloud微服务实战》一书中都有提到关于消费组的概念以及作用。

Logback中使用TurboFilter实现日志级别等内容的动态修改

2018-11-22
阅读 2 分钟
3.3k
可能看到这个标题,读者会问:要修改日志的级别,不是直接修改log.xxx就好了吗?为何要搞那么复杂呢?所以,先说一下场景,为什么要通过TurboFilter去动态的修改日志级别。我们在使用Java开发各种项目的时候必然的会引入很多框架,这些框架通过堆叠的方式完成所要提供的业务服务(一个服务请求在进入后会在这些框架中兜...

Logback中如何自定义灵活的日志过滤规则

2018-11-18
阅读 3 分钟
5.1k
当我们需要对日志的打印要做一些范围的控制的时候,通常都是通过为各个Appender设置不同的Filter配置来实现。在Logback中自带了两个过滤器实现:ch.qos.logback.classic.filter.LevelFilter和ch.qos.logback.classic.filter.ThresholdFilter,用户可以根据需要来配置一些简单的过滤规则,下面先简单介绍一下这两个原生的...

Swagger中配置了@ApiModelProperty的allowableValues属性但不显示的问题

2018-10-21
阅读 2 分钟
5.9k
现在用Swagger来生成API文档的例子已经非常多了,今天碰到开发同事问了一个问题,帮着看了一下,主要还是配置方法的问题,所以记录一下。如果您也碰到了同样的问题,希望本文对您有用。