自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 LynTest 接口自动化平台介绍

项目介绍本项目支持单接口调试、并发测试,支持批量测试、定时执行、报告在线展示及推送。支持变量传递、函数助手等功能。所有批量执行、压测功能等均为异步执行。为支持企业级的应用落地,新版本支持较为复杂的权限管理系统,并内置大量可拓展功能,例如:自定义入参校验、okhttp请求拦截、redis键空间通知、七牛等第三方接入、企业微信推送等。平台技术栈为 SpringBoot + Vue,前后端分离实现。为方便部署,数据库简化为仅使用MySQL,当然平台也内置了Redis操作类,可根据需要让同学们进行快速的二次迁

2020-12-25 15:48:06 980 8

原创 Turbine聚合服务 + Hystrix-Dashboard集成大盘监控

Turbine聚合服务Turbine的聚合比较简单,只需要添加注解和填好配置文件即可pom文件<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> &lt

2020-12-31 17:11:42 51

原创 Hystrix使用多级降级

本篇配置类及其他代码可参考《Hystrix使用fallback完成消费降级》我们对Fallback进行一些修改@Slf4j@Componentpublic class Fallback implements MyService { @Override @HystrixCommand(fallbackMethod = "fallback2") public String error() { log.info("Fallback: I'm not a black

2020-12-31 15:52:31 56

原创 Hystrix实现Request Cache减压

本篇配置类及其他代码可参考《Hystrix使用fallback完成消费降级》我们在Hystrix下新建一个CacheService@Slf4j@Servicepublic class RequestCacheService { @Autowired private MyService service; @CacheResult @HystrixCommand(commandKey = "cacheKey") public Friend requestCac

2020-12-31 15:25:31 43

原创 Hystrix实现Timeout降级

本篇配置类及其他代码可参考《Hystrix使用fallback完成消费降级》Feign中添加测试方法传入秒数,线程会等待传入秒数的时间,然后返回端口号@Overridepublic String retry(@RequestParam(name = "timeout") int timeout) { while (--timeout >= 0) { try { Thread.sleep(1000); } catch (Inte

2020-12-31 11:05:21 94

原创 Hystrix使用fallback完成消费降级

本篇调用接口基于《Feign的基础应用(替代Eureka消费者)》pom文件<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependen

2020-12-31 10:35:41 125

原创 Zookeeper实现分布式锁

实现原理利用Zookeeper瞬时有序节点的特性多线程并发创建瞬时节点时,得到有序的列表序号最小的线程获得锁其他线程监听自己序号的前一个序号前一个线程执行完成,删除自己序号的节点下一个序号的线程得到通知,继续执行代码实现pom<dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId>

2020-12-30 11:16:09 90

原创 SpringBoot:远程调用异步化

AsyncRestTemplate想使用AsyncRestTemplate,首先得对其进行注入@Beanpublic AsyncRestTemplate asyncRestTemplate(){ return new AsyncRestTemplate();}然后我们新建一个controller进行测试@Autowiredprivate AsyncRestTemplate asyncRestTemplate;@GetMapping("/test-async-rest-temp.

2020-12-28 10:22:17 128 1

原创 线程池调优:使用工具自动计算合适的corePoolSize与LinkedBlockingQueue

在这里推荐一个能自动计算的工具类 https://www.javacodegeeks.com/2012/03/threading-stories-about-robust-thread.html它提供了两个函数,PoolSizeCalculator与MyPoolSizeCalculatorPoolSizeCalculator/** * A class that calculates the optimal thread pool boundaries. It takes the desired ta

2020-12-28 09:11:19 197

原创 自定义带监控的数据库连接池

我们可以先看一个最基础的jdbc连接的使用方法,在这里我们使用同一个connection做了两次查询的操作public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver"); Connection connection = DriverManager.getConnection( "jdbc:mysq

2020-12-26 16:48:28 110

原创 缓存线程池+ExecutorCompletionService 实现异步压力测试执行

整体逻辑比较简单,Springboot提供接口用以前端开启压测,controller层调用异步任务开始执行压测,Springboot使用异步接口可参考《SpringBoot:实现异步(Async)接口》。然后在异步任务中通过缓存线程池(CachedThreadPool)启用多线程,通过ExecutorCompletionService进行执行操作。controllerSpringboot提供/execute接口用以前端调用压测,在这里以接口压力测试为例@PostMapping("/execute")

2020-12-22 16:34:23 135

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除