分布式任务调度框架选型,如何选择一个合适的框架
这类开源的项目很多,给你推荐2个我之前分享,都是基于.NetCore的开源项目:
1、ScheduleMaster
项目简介
这是一个基于.Net Core构建的简单、跨平台、模块化的分布式任务调度系统。界面清爽大气、功能完备、高可用、数据安全,代码结构清晰,开发效率高,整体来说一个非常不错的系统。
技术架构
1、跨平台:这是基于.Net Core开发的系统,可以部署在Docker, Windows, Linux, Mac。
2、数据库支持:Microsoft SQL Server, PostgreSQL, MySQL。
3、技术栈:ASP.NET Core3.1、EntityFramework Core3.0、Mysql5.7、Quartz.Net。
详细介绍:推荐一个基于.NET Core 3.1开发开源的分布式任务调度>体系/strong>
2、Host 前后端分离架构
项目简介
这是一个基于.Net 5+Quartz.NET 3构建的简单、跨平台任务调度系统。系统业务简单、代码清晰,如果您只是单纯只需简单任务执行、监控、提醒这套系统就非常适合。没有多余的功能,简单扩展下基本可以满足日常需求。
技术架构
1、跨平台:这是基于.Net Core开发的系统,可以部署在Docker, Windows, Linux, Mac。
2、数据库支持:MySQL、Oracle、Sqlserver、Sqlite、Npgsql、Firebird、SQLServerMOT。
3、采用前后端分离框架。
4、接口支持RESTful风格,配置简单。
5、基于.Net 5+Quartz.NET 3 + Docker + Angular开发。
详细介绍:.NET5.0和Quartz.NET开发的极简任务调度平台
首先,这种框架现在市面上是有的。强烈建议,不要重复造轮子。
先介绍几种比较主流的。
Elastic-Job,是当当网开源的分布式调度解决方案,支持任务分片功能,可以充分利用资源。Elastic-Job有两个独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。具体实现可以参考官方教程。其整体架构图如下。
Elastic-Job的特点:
1、分布式调度 2、作业高可用 3、任务分片执行。
另外,还有其他的一些框架,可以对比使用。比如TBSchedule是阿里巴巴开源的分布式调度框架,完全由java实现,目前被应用于淘宝,阿里巴巴,支付宝,京东,汽车之家等。大众点评开源的xxl-job,也是应用比较广泛的分布式调度任务。
目前我使用过的有 Elastic-Job和xxl-job。两者功能都很强大,后台管理也比较完善。很容易上手。都可以满足日常的工作需要。区别就是 Elastic-Job依赖zk,但是xxl-job不依赖zk,只依赖数据库。
目前市面上应该还有一些其他的框架,但是以上是比较主流的,可以根据自己的需要来选择。切记不要重复造轮子,造轮子需要大量的时间去验证。会让你在坑里爬不出来。
谢谢,希望对你有帮助,有问题可以留言,我们一起讨论!
前端时间研究了两款分布式任务调度框架,一个是XXL-Job,现在非常主流,很多常见的一些公司都在使用,像滴滴美团这样的公司都在用,这也是一款开源产品,下载下来导入IDEA就可以使用,分调度器和执行器和管理UI,有很美观的UI界面,可以对任务做增删改查,以及支持自定义开发,有很详细的帮助文档,还提供有demo,傻瓜式的,很简单,亮点是提供了管理界面。
另一个是Quartz,这个组件单机和集群都支持,单机的话是RAMJobStore任务存储,而要支持集群的话,就要将配置改成数据库方式,Quartz提供的有十几张表,其分布式的原理是利用了数据库的行锁,Quartz很简单,也是一款轻量级的开源产品,我们公司一直用这款组件,很成熟无Bug,推荐使用!
orelax是什么软件
orelax是一款JavaEE企业级快速开发平台,基于经典的技术组合(Spring、SpringMVC、Apache Shiro、Mybatis、Freemarker、Quartz、EhCache),前端采用Bootstrap、Layui、jQuery设计,支持响应式布局,界面简洁美观。
核心功能有:在线生成业务代码,组织管理,系统监控,任务调度管理,系统管理,及支持数据权限访问管理,支持多数据源。
orelax是一款出色的白噪音软件,可以更好的帮助用户有一个健康的身心,通过白噪音来净化自己的内心,还可以提升睡眠质量,模拟出各种声音,达到助眠的效果。
O relax白噪音app是一个非常实用的白噪音助眠软件,能够为所有用户营造最健康的白噪音幻境。O relax白噪音app实用起来非常的简单,而且超多的白噪音幻境可供大家自由选择。