摘要:
说明 我们引入以下 <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-transport-simple-http</artifactId> <version>1.8.6</version> </dependenc 阅读全文
摘要:
说明 动态代理里面抛出sentinel的异常发现抛出的是UndeclaredThrowableException包装了一层 导致专门处理流控异常的地方不能正常处理 异常类图 jdk动态原理对异常的处理 生成的字节码 参考https://www.cnblogs.com/LQBlog/p/1639710 阅读全文
摘要:
查看规则是否加载成功 规则类型 URL 1 系统规则 http://{serviceip}:{port} /getRules?getParamFlowRules 2 获取授权规则 http://{serviceip}:{port}/getRules?type=authority 3 获取熔断规则 h 阅读全文
摘要:
熔断、限流、降级如何理解 上图的问题就是综合服务调用外部服务,当B服务出现工作线程出现阻塞导致大量请求排队,导致超时,进而影响了综合服务。 我们从2个视角来看 1.从外部服务的视角当工作线程出现阻塞是因为服务出现了超过自身能够处理的流量导致阻塞这个时候往往我们就需要限流。阻塞又是通过各种情况导致比如 阅读全文
摘要:
时序图 阅读全文
摘要:
下载 https://jmeter.apache.org 配置语言 常用按钮 配置一个压测 新建测试计划 定义全局变量,后续测试用例可以直接引用 新建线程组 参数解释: 线程数: 虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数就是设置多少个线程数。 Ramp-Up Period(in 阅读全文
摘要:
cglib使用 1.引入依赖 <!-- 添加cglib依赖 --> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.3.0</version> </dependency> 2.创建被代理类 阅读全文
摘要:
日常我们执行刷数更新避免使用分页偏移,如何涉及到条件变更会丢数据 比如满足条件的数据 1 2 3 4 5 6 7 根据分页偏移查询当处理第一页1 2,1 2处理后不满足条件分页指针偏移到2,这个时候条件1 2已经不满足了 就丢了3 4数据 采用id偏移的方式 针对要修改的db场景,还应该避免大事务 阅读全文
摘要:
hutool 介绍 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中 阅读全文
摘要:
Mockito简介 什么是Mockito Mockito是一个开源的Mock框架,旨在为Java单元测试提供简单、可读的Mock对象。它可以模拟类的行为,使测试代码能够在不依赖真实对象的情况下运行。 为什么使用Mockito 隔离外部依赖:可以模拟外部系统(如数据库、网络服务等),使测试更加独立。 阅读全文