Fork me on GitHub

Spring Cloud

Alibaba Sentinel 配置项总结

前面总结了: Alibaba Sentinel 规则参数总结 SentinelResource注解 属性总结 Spring Cloud Alibaba视频 08-12一节中还总结了 控制台相关配置项 这一节来总结Sentinel的所有配置。 TIPS 本文基于Sentinel 1.6.2编写,未来Sentinel发布新版本后,各位看官可按照本文中的“参考文档”,自行查阅新版本的配置项目。 Spring Cloud Alibaba Sentienl相关配置项 TI...

Alibaba Sentinel规则持久化-推模式-手把手教程【基于Nacos】

前面,已经为Sentinel实现了 基于拉模式的规则持久化 ,本文来实现基于 推模式的规则持久化。 一、推模式架构图 TIPS 图片来自官方。 引用自 https://github.com/alibaba/Sentinel/wiki/在生产环境中使用-Sentinel 二、原理简述 控制台推送规则: 将规则推送到Nacos或其他远程配置中心 Sentinel客户端链接Nacos,获取规则配置;并监听Nacos配置变化,如发生变化,就更新本地缓存(从而让本地缓存总是和...

Alibaba Sentinel 规则持久化-拉模式-手把手教程【基于文件】

本文实现基于拉模式的Alibaba Sentinel规则持久化。 一、拉模式架构 TIPS 图片来自官方。 引用自 https://github.com/alibaba/Sentinel/wiki/在生产环境中使用-Sentinel 二、原理简述 FileRefreshableDataSource 定时从指定文件中读取规则JSON文件【图中的本地文件】,如果发现文件发生变化,就更新规则缓存。 FileWritableDataSource 接收控制台规则推送,并根据...

SentinelResource注解 属性总结

SentinelResource注解 属性总结。 本文基于Sentinel 1.6.2,理论支持1.4.0+ 属性 作用 是否必须 value 资源名称 是 entryType entry类型,标记流量的方向,取值IN/OUT,默认是OUT 否 blockHandler 处理BlockException的函数名称。函数要求:1. 必须是 public 2.返回类型与原方法一致3. 参数类型需要和原方法相匹配,并在最后加 BlockExcepti...

Alibaba Sentinel 规则参数总结

本文总结了Alibaba Sentinel各种规则的参数。 基于Sentinel 1.6.2编写,未来如果本文不再适用,可自行点击每一节 参考 一览的链接前往查看如何配置。 一、流控规则1.1 配置 1.2 参数 Field 说明 默认值 resource 资源名,资源名是限流规则的作用对象 count 限流阈值 grade 限流阈值类型,QPS 或线程数模式 QPS 模式 limitApp 流控针对的调用来源 default,代表不...

Feign常见问题总结

TIPS 本文基于Spring Clou Greenwich SR1,理论支持Spring Cloud Finchley及更高版本。 本文总结Feign常见问题及解决方案。 一、使用案例 如何使用Feign构造多参数的请求 使用Spring Cloud Feign上传文件 使用Feign实现Form表单提交 二、FeignClient接口如使用@PathVariable ,必须指定value属性代码示例: 123456@FeignClient("micros...

如何使用Feign构造多参数的请求

TIPS 本文基于Spring Cloud Greenwich SR1,理论上支持Finchley及更高版本。 本节来探讨如何使用Feign构造多参数的请求。笔者以GET及POST请求为例讲解,其他方式(例如DELETE、PUT等)的请求原理相通,读者可自行研究。 GET请求多参数的URL假设需请求的URL包含多个参数,例如http://microservice-provider-user/get?id=1&username=张三 ,该如何使用Feign构造...

扩展Ribbon支持Nacos集群配置

在Nacos上,支持集群配置。集群是对指定微服务的一种虚拟分类。集群还是比较有用的,例如: 为了容灾,把指定微服务同时部署在两个机房(例如同城多活【其中1个机房崩溃另一个机房还能顶】、异地多活【防止自然灾害,例如地震什么的】),比如南京机房和北京机房。 调用时,可优先调用同机房的实例,如果同机房没有实例,再跨机房调用。 当然cluster还有很多其他作用,请各位看客自行脑补,本文将围绕上面描述的场景展开。 虽然Spring Cloud Alibaba支持集群配置...

扩展Ribbon支持Nacos权重的三种方式

Nacos支持权重配置,这是个比较实用的功能,例如: 把性能差的机器权重设低,性能好的机器权重设高,让请求优先打到性能高的机器上去; 某个实例出现异常时,把权重设低,排查问题,问题排查完再把权重恢复; 想要下线某个实例时,可先将该实例的权重设为0,这样流量就不会打到该实例上了——此时再去关停该实例,这样就能实现优雅下线啦。当然这是为Nacos量身定制的优雅下线方案——Spring Cloud中,要想实现优雅下线还有很多姿势,详见:《实用技巧:Spring Cloud中...

搭建生产可用的Nacos集群

注:本文使用Nacos 1.0.1 前面部署的是单机版的Nacos Server,这一般不适用于生产。 本节详细探讨如何搭建一个生产可用的Nacos集群。讨论的内容主要包括:使用MySQL作为存储持久化数据,以及如何搭建Nacos集群。 一、部署架构图部署架构图如下: 二、安装MySQL数据库生产环境需使用MySQL作为后端存储,因此需要搭建MySQL。生产中,MySQL建议至少主备模式,高可用MySQL更佳。 高可用MySQL搭建方案有很多(例如MMM、MHA...