mysql的多master调度_ScheduleMasterCore

ScheduleMaster是一款基于.NET Core 3.1的开源分布式任务调度系统,支持跨平台多节点部署,具备高可用性、任务动态管理、数据安全、自定义参数设置等功能。系统采用ASP.NET Core、EntityFramework Core、Mysql等技术栈,提供REST API集成,支持多种数据库类型,具有任务监控和资源监控功能。
摘要由CSDN通过智能技术生成

b5d894bca4680b021376446114c31a74.png

ScheduleMaster是一个开源的分布式任务调度系统,它基于.NET Core 3.1平台构建,支持跨平台多节点部署运行。

ScheduleMasterCore?branchName=master

ScheduleMaster

DNS.1.1.1.1

ScheduleMasterCore

badge.svg

主要特性

简易的Web UI操作;

任务动态管理:创建、启动、停止、暂停、恢复、删除等;

高可用支持,跨平台多节点部署。

数据安全性,不会出现多实例并发调度。

支持自定义参数设置;

支持.NET Core和.NET Framework(4.6.1+);

支持自定义配置文件和热更新;

支持设置监护人,运行异常时邮件告警;

支持设置任务依赖,自动触发,共享任务结果;

插件式开发,任务运行环境隔离;

全链路日志系统,运行轨迹轻松掌控;

用户访问控制;

提供开放REST API,业务系统可以无缝集成;

调度报表统计;

任务分组管理;

计划表拆分实现复用;

指定节点运行;

支持http任务配置;

支持延时任务;

任务监控;

资源监控;

支持异常策略配置(失败重试、超时控制等);

接入redis缓存;

多数据库类型支持;

用户权限更加精细化;

报表统计完善;

技术栈

ASP.NET Core3.1、EntityFramework Core3.0、Mysql5.7、Quartz.Net、BeyondAdmin、Jquery...

系统架构图

1b6442dd891f03621e518fb421cae0c2.png

如何使用

使用前请准备好所需环境:Visual Studio 2019、.NET Core3.1 SDK、Mysql 5.7(可选)、SQLServer(可选)、PostgreSQL(可选)、Centos(可选)、Docker(可选)。

下面以Mysql作为数据库,用配置文件方式启动为例做介绍,其他方式参考详细文档。

下载源码到本地,然后用VS2019打开解决方案并编译通过。

打开项目Hos.ScheduleMaster.Web根目录下的appsettings.json文件,先修改Mysql数据库连接字符串以保证数据库正常访问,再找到NodeSetting节点,修改IP字段为master将要部署的ip地址(master端口为30000不用修改),在项目上右击选择发布...,发布到本地文件夹。

打开项目Hos.ScheduleMaster.QuartzHost根目录下的appsettings.json文件,同样先修改Mysql连接字符串,再找到NodeSetting节点,设置worker的名称IdentityName,修改IP字段为将要部署的ip地址,Port字段为要监听的地址(推荐为30001),在项目上右击选择发布...,发布到本地文件夹。如果要新增worker,按同样方式配置IdentityName、IP、Port即可,worker在启动后会把自己的信息注入到数据库中,在master中可以看到。

快速发布小贴士:windows平台下用powershell执行脚本publish.ps1快速发布到d:/sm-publish目录,linux平台下执行脚本sh publish.sh快速发布到/home/sm-publish目录。

其他发布方式亦可。下面以运行2个worker节点为例:

在Windows中运行

找到master的发布目录,执行命令dotnet Hos.ScheduleMaster.Web.dll启动程序,首次启动会自动迁移生成数据库结构并初始化种子数据,打开浏览器输入ip和端口访问即可(初始用户名admin,密码111111)。

找到worker的发布目录,执行命令dotnet Hos.ScheduleMaster.QuartzHost.dll --urls http://*:30001启动程序,打开浏览器输入ip和端口会看到一个欢迎页面,表示worker已启动成功。

修改worker下的appsettings.json文件为worker2的配置(如果发布前已经修改可跳过),执行命令dotnet Hos.ScheduleMaster.QuartzHost.dll --urls http://*:30002启动程序.

登录到master中,可以看到节点管理菜单下各节点的运行状态。

在Linux(Centos)中运行

运行前请确保机器已经安装好.NET Core3.1运行时环境。

把发布文件复制到Centos中,操作步骤同Windows。

在Docker中运行

在master的发布目录中执行docker build -t ms_master .命令生成master镜像,再执行docker run -d -p 30000:30000 --name="mymaster" ms_master运行容器。

在worker的发布目录中执行docker build -t ms_worker .命令生成worker镜像,再执行docker run -d -p 30001:80 --name="myworker1" ms_worker bash --identity=docker-worker1 --ip=你的宿主机IP --port=30001运行容器启动worker1。

继续执行docker run -d -p 30002:80 --name="myworker2" ms_worker bash --identity=docker-worker2 --ip=你的宿主机IP --port=30002运行容器启动worker2。

执行docker ps查看各容器运行状态,如果运行不起来请检查容器log。

效果图

fffc41804c476337d0bf3dca062a7cce.png

0790278a04cce1c873e049dd2fc86cb4.png

ef24c3d1f2cad7ebb2711ddb00c6abcd.png

dd174692882836b39d3dc24c6eb8963d.png

d1a40f41f172326d15710d5bb5826af2.png

6de1babebaef8205744acd3096bf3f2e.png

文档

交流学习

QQ群:824535095

使用情况

赞赏

金额请随意,赞赏请备注~

93105f0557003db0e3c0a5e4a631551a.png

061aa551322c1c5aa723a95d5bbeed2b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值