quartz
ZixiangLi
再牛逼的梦想,也抵不住你傻逼似的坚持!
展开
-
使用Quartz做任务调度
废话的前言 以前凭借年轻,凡事都靠脑记。现在工作几年后发现,很多以前看过、用过的东西,再次拿起的时候总觉得记不牢靠。"好记性不如烂笔头"应该是某位上了年纪的大叔的切肤之痛(仅次于上了年纪的难言之瘾)。 我觉得这事得怪怪中国的应试教育,中国的考试方式就是要求把脑袋当数据库,以前中学那点知识,确实还能装得下。但现在所需的知识量再一次性装入大脑,就是内存溢出的节奏。另,再相信什么人脑只开发5%的蠢话...转载 2019-01-14 16:29:47 · 422 阅读 · 0 评论 -
利用数据库锁实现Quartz分布式调度
背景 当我们使用Quartz做任务调度的时候,随着访问量越来越大,我们需要在多台机器上同时实现Quartz,这里会出现一个问题,分布式环境下,同一个任务调度可能被执行多次,这就与我们期望的结果不一致了,那么如何解决呢?下面提供两种基于数据库锁的解决方法。 两种思路 1.使用数据库自带的行锁机制,使得只有一个线程能获得该锁,并在线程执行完毕后释放该锁 2.利用unique key的唯一性,...原创 2019-04-11 11:29:32 · 3299 阅读 · 1 评论 -
利用Redis分布式锁实现Quartz分布式调度
背景 前两天研究的利用数据库锁实现Quartz分布式调度一文中提到几点问题,利用数据库行锁机制和唯一性约束,不仅无法解决单点问题,而且频繁访问数据库,造成db性能降低。那么最近就研究了一下redis缓存服务,通过redis的哨兵和复制功能(不知道这两个功能的,请自行百度)可以实现redis集群部署和redis分布式锁,并且数据是缓存在内存中的,所以性能要比数据库锁提高很多。 思路 1.既然是...原创 2019-04-12 18:06:36 · 3236 阅读 · 4 评论