怎么把自己做的网站放到网上,简易app,网站制作公司 信科网络,德州做网站建设的公司前言 蛮早前有些过关于线程池的使用及参数的一些参考配置#xff0c;有兴趣的可以翻看以前的博文#xff0c;但终究无法解决线程池的动态监控和实时修改。 以前读过美团早期发布的动态线程池框架的思路相关文章#xff0c;但想要独自实现不是一件容易的事。 去年#xff0c…前言 蛮早前有些过关于线程池的使用及参数的一些参考配置有兴趣的可以翻看以前的博文但终究无法解决线程池的动态监控和实时修改。 以前读过美团早期发布的动态线程池框架的思路相关文章但想要独自实现不是一件容易的事。 去年一款美团动态线程池的框架DynamicTp终于开源了因此我有尝试使用一下发现接入简单侵入性也不强支持的接入方式也多总体还是很不错的。 我认为尤其适合中小企业SpringBoot应用接入是一款线程池监控的利器。 介绍 DynamicTp官网https://dynamictp.cn/ 架构图 下面我把一个非配置中心的接入案例分享给大家配置中心接入方式大同小异。 正文 使用的是最新版本1.1.3 1、引入依赖 2、yml配置 核心配置就是图中红色说明的报警配置和线程池参数配置 这是紧接着上面的邮件告警配置除了邮件方式还有其他很多方式具体可参考官网个人项目更推荐邮件方式接入最简单。 3、测试 定义一个接口使用Hutool提供的并发模拟工具类这里先设置线程数200。 在service中注入一个线程池默认名称regExecutor和yml配置中定义的刚好对应上。 这个接口的逻辑很简单就是模拟并发场景下使用线程池的效果。 4、效果 执行接口看下效果发现一切正常没有任何告警。 这是因为我们yml中配置的线程池参数可以承受测试时设置的200个线程数。 那么我们把测试接口的线程数设置成500再看看。 执行后可以看到DynamicTp已经触发了告警并且提示邮件发送成功。 我用的QQ邮箱发现通知也收到了。 点开后可以看到DynamicTp提供的详细的线程池监控告警通知。 可以看到报警类型是reject表示线程被拒绝并且展示出了线程池参数的配置以及拒绝策略和拒绝的任务数量。 其中拒绝任务数量达到了250个计算一下我们配置的参数核心8最大50队列容量200。 并发场景下该配置实际最大容量确实是250而我们测试传入的线程数是500被拒绝250刚好符合。 这样我们根据被拒绝的任务数量就可以动态调整参数比如扩大队列容量或者提高核心线程数的上限等等甚至是调整拒绝策略为调用者线程继续执行。 这都要根据具体业务场景来区分到底是IO密集型还是CPU密集型关于这个可以参考我其他的博文。 总结 总之DynamicTp的接入是很简单的而且社区在不断完善目前Gitee上能找到的关注度稍高的动态线程池框架其实就两个只要学会使用一个就够用了思想没有太多区别。 这个案例我并没有展示动态修改参数的效果因为这种场景一般是分布式环境下接入比较适合比如接入了nacos配置中心那么DynamicTp也提供了对接方案。 想要文中的完整案例代码来测试效果的可以关注红枫叶下载哈。 喜欢的xdm可以【点个赞】【收藏一下】以备不时之需更可以【关注下我】本人持续输出干货分享工作中的一些实践经验。