当前位置:首页 > 技术文章 > 正文内容

简单快速实现定时调度的解决方案(简单快速实现定时调度的解决方案有哪些)

arlanguage3个月前 (01-31)技术文章23

业务场景:

1)流程协作平台任务过期前需要提醒。到期前5小时提醒一次,2小时前提醒一次,30分钟前提醒一次。

2)电商网站的订单下单以后,2小时内未付款需要关闭。

常见的解决方案:

1)将业务类型,执行时间存储到数据库,通过定时扫描数据库来处理。

2)针对每一个任务设置一个timer来定时执行。

以上方案的缺点:

1)低效,被动,难控制时间的准确度。

2)业务如果爆发,譬如每天10w笔订单创建,设置10w个线程是不可接受的。

3)系统重启恢复定时任务需要消耗大量资源。

当然也有优点:简单粗暴。

推荐解决方案:

nginx作为应用服务器,以高效,低资源消耗占有了很大一块市场份额。当nginx面临大量http请求,每个请求都需要超时控制的时候(后端无响应),nginx是如何处理的呢?

直接看图:

重要功能点说明:

1)对需要超时处理的先做排序,最近执行的放在最上面,避免循环遍历。

2)for循环中通过设置预期超时事件,到点再唤醒,减少cpu占用。

3)占用线程数量最小。只需要一个线程处理所有超时事件。

4)超时处理时间准确度可控制。

有了模型,很快可以用java语言实现一套适用于自己业务系统的超时控制中心,先看模型图。

核心功能:

1)维护一个超时队列,可通过TreeSet实现。

2)实现注册超时事件和注销超时事件这两个接口。

3)维护超时事件类型以及对应的处理业务处理器。

4)主线程负责获取最近超时事件,执行业务处理器,回调执行下一个超时任务。

代码这里就不贴了,有兴趣的同学可以看git上的源码:
https://git.oschina.net/guda/timeout.git

================================

互联网技术知识、资源分享

欢迎通过微信公众号:扣钉有道,留言与作者沟通。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1677.html

标签: nginx 定时
分享给朋友:

“简单快速实现定时调度的解决方案(简单快速实现定时调度的解决方案有哪些)” 的相关文章

阿里架构师讲面试:Nginx 配置 HTTPS 完整过程,细致入微全是精华

配置站点使用 https,并且将 http 重定向至 https。1. nginx 的 ssl 模块安装查看 nginx 是否安装 http_ssl_module 模块。$ /usr/local/nginx/sbin/nginx -V如果出现 configure arguments: --with-...

Java基础教程:k8s快速入门 k8s jmeter

介绍容器化部署随着Docker技术的流行,对项目的容器化部署方式越来越流行,容器化部署的优点如下:可以保证每个容器拥有自己的文件系统、CPU、内存、进程空间等运行应用程序所需要的资源都被容器包装,并和底层基础架构解耦容器化的应用程序可以跨云服务商、跨Linux操作系统发行版进行部署虽然容器化部署可以...

PHP-性能优化 php性能最优化安全最大化

1 尽量静态化如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法(非静态方法)在程序运行中生成内存,所以静态方法可...

C# 实现高并发 Web 应用的性能优化秘籍

在现代的互联网应用中,尤其是大型 Web 应用,性能和可扩展性成为了核心竞争力。随着用户访问量和数据量的增大,高并发处理成为了系统稳定性和响应速度的关键因素。无论是电商平台、社交网站还是 SaaS 应用,如何应对海量用户的同时访问,确保系统高效运转,已经成为了技术人员面临的重要挑战。C# 和 ASP...

VUE3前端开发入门系列教程

一直以来使用ThinkJS开发,使用Semantic-UI手写代码,又缺少一些table等插件,好累。平时使用NodeJS开发后端较多,一直有接触VUE想法,总是不得入门(可能是思维固化了),再次深入研究,直接从VUE3入手,并借这次机会写个入门系列教程,一是做个笔记备查,二是与大家分享。初次入门V...

Nuxt.js从0到1之入门教程

题外话:近来想把网站做下更新,从框架到内容的更新,但又不想放弃SEO的优势,日常工作用到vue.js在SEO方面劣势较多,果断选择了Nuxt.js,苦于国内文章抄袭的非常严重 如某n 某书,最终在稀土找到一篇像样的文章,以头条为平台记录网站改版全过程。此文章建议在PC端查看,涉及到代码部分,移动端查...