公司没有自己的网站,重庆市网络公司,wordpress版权信息上方图片,广州站在哪个区Java项目《谷粒商城》架构师级Java项目实战#xff0c;对标阿里P6-P7#xff0c;全网最强
总时长 104:45:00 共408P
此文章包含第326p-第p331的内容 关注的问题 sentinel#xff08;哨兵#xff09;
sentinel来实现熔断、降级、限流等操作 腾讯开源的tendis#xff0c…Java项目《谷粒商城》架构师级Java项目实战对标阿里P6-P7全网最强
总时长 104:45:00 共408P
此文章包含第326p-第p331的内容 关注的问题 sentinel哨兵
sentinel来实现熔断、降级、限流等操作 腾讯开源的tendis分布式缓存 第一辆车开太慢就会堵车 有的解释降级是提供错误的一个兜底反馈跟这个解释好像不太一样 sentinel学习 五种方法 我们一般使用第四种注解方法 第一种适配方法 第二种抛异常方法 步骤 引入sentinel包 控制台 查看调用的是哪个版本的sentinel 这个jar包是个springboot项目 可以java -jar 直接启动 这个项目默认端口是8080 如果被占用的话 可以用 --server.port你要的端口号
步骤 控制台操作方式
新增一个流控规则 再次刷新 进行限流
出现空指针异常 加一下判断即可
只要加了依赖 就都会被监控
暴露规则 全部暴露
添加审计图
导入endpoint依赖就可以使用统计图
exclude是排除哪些不暴露 include暴露 自定义流控返回 新增一个配置类
sentinel 提供的管理器类
如果用spring5的webFlux编程就用下面的 这里我们用上面的 定义一个错误码 乱码了 我们定义一下编码就行 全服务引入
每个服务都导入actuator 然后配置信息
错误
循环依赖错误 这里是用构造注入的方式解决循环依赖 解决
注掉postConstruct (它的作用是 方法会在bean实例化后被立即调用。) 这里解决失败还是报错我们自己创建一个rabbitTemplate 这里的Primary注解的作用: 用于指示一个类、方法或字段作为首选的候选对象。当应用于类时Primary注解表示该类是首选的候选对象将优先被实例化。当应用于方法时Primary注解表示该方法是最优选的候选方法将优先被调用。当应用于字段时Primary注解表示该字段是最优选的候选字段将优先被访问。
我们定义的rabbitTemplate比别人的少一些配置 如下
还有一直解决方法
把Bean注释的转换器和RabbitTemplate拆成两个文件可以解决循环依赖 效果
走完流程后
流控效果 warm up(热身) 峰值如果是500 我们使用 warm up(热身) :10秒内放进来500个请求
排队等待
如果峰值时是500 进来700个请求 我们先将前500进行处理 然后剩下的200 等待我们设置的如3000毫秒 如果3000毫秒得不到处理 就抛出失败