如何实现高并发下的中Hystrix请求合并
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,如何实现高并发下的中Hystrix请求合并,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。实现高并发下的SpringClo
千家信息网最后更新 2025年01月23日如何实现高并发下的中Hystrix请求合并
如何实现高并发下的中Hystrix请求合并,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
实现高并发下的SpringCloud中Hystrix请求合并
1、在pom.xml中引入maven包
org.springframework.cloud
spring-cloud-starter-netflix-hystrix
2.1.6.RELEASE
spring Boot 包引入,版本必须一致,否则启动报错。
org.springframework.boot
spring-boot-starter-parent
2.1.12.RELEASE
2、添加启动注解
@EnableCircuitBreaker该注解启动hystrix,否则不生效。
@SpringBootApplication
@EnableScheduling
@EnableSwagger2
@EnableCaching
@EnableAsync
@ServletComponentScan
@EnableMqHandlerScan(packages = {"com.sxgw.pcops.im.client.mq.handler"})
//使用hystrix必须增加
@EnableCircuitBreaker
public class ClientApplication {
public static void main(String[] args) {
SpringApplication.run(ClientApplication.class, args);
}
}
3、请求接口Controller
@Api(value = "测试")
@RestController
@RequestMapping("/test")
@Slf4j
public class TestController {
@Autowired
private UserBatchServiceImpl userBatchServiceImpl;
@ApiOperation("测试请求合并")
@PostMapping(value = "/userbyMerge/{id}")
public String userbyMerge(@PathVariable Long id) {
String ids = "";
try {
Future userFu = this.userBatchServiceImpl.getUserById(id);
ids = userFu.get();
}catch (Exception e){
e.printStackTrace();
}
return ids;
}
}
4、编写请求合并逻辑
timerDelayInMilliseconds 该参数设置的是线程池中间间隔时间,如间隔5000ms则是一个线程池等待5s后执行
/**
*
* @author
*
*/
@Component
public class UserBatchServiceImpl {
@HystrixCollapser(batchMethod = "getUserBatchById",scope= com.netflix.hystrix.HystrixCollapser.Scope.GLOBAL,
collapserProperties = {@HystrixProperty(name ="timerDelayInMilliseconds",value = "5000")})
public Future getUserById(Long id) {
throw new RuntimeException("This method body should not be executed");
}
@HystrixCommand
public List getUserBatchById(List ids) {
System.out.println("进入批量处理方法"+ids);
List ps = new ArrayList();
for (Long id : ids) {
ps.add(id+"");
}
return ps;
}
}
5、测试时通过jmeter测试工具测试可以查看到效果。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
测试
发下
注解
线程
帮助
清楚
一致
内容
参数
对此
工具
接口
效果
文章
新手
方法
时间
更多
测试工具
版本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
做政府投标软件开发
数据库实验五复杂查询
武汉市网络安全培训中心
腾讯公司深圳软件开发部
物流宝网络技术有限公司
获取一整条数据添加到数据库
临沧文山互联网科技
为什么爬虫和数据库
数据库建设用什么软件好
相城区智能服务器高质量的选择
数据库成绩
如何取出插入数据库的id
警告本网站在国内服务器
关于电脑的网络安全知识竞赛
对网络安全威胁的形式很多
有域名有服务器就可以登陆网站吗
网络安全自评报告范文
信息化软件开发好处
投资软件开发赚钱么
信阳市网络安全攻防
黄浦区特定网络技术服务
数据库实验五复杂查询
python编写服务器端
天台你模拟器网络安全证书
云服务器 php
应用软件开发架构
自己做snp数据库
idea运行后数据库出来乱码
金融服务器的主要作用
tomcat服务器配置缺失