基于nginx+xxl-job+springboot高可用分布式任务调度系统实战(集群版)

一.安装部署XXL-JOB调度中心

 一.下载源码:
    https://github.com/xuxueli/xxl-job
    http://gitee.com/xuxueli0323/xxl-job
 二.如下图所示,修改配置文件,
    a.执行sql文件   tables_xxl_job.sql
    b.修改数据库地址

在这里插入图片描述

三.部署xxl-job-admin到两台两台服务器

说明:1.这里的服务器分别是 172.25.62.101, 172.25.62.102 
     2.两台服务器可以避免单点故障,实现调度平台的高可用

二.安装nginx(参考之前的博客)

1.修改配置,如下图:

在这里插入图片描述

三.启动nginx和xxl-job-admin

 说明:1.172.25.62.101 www.gdz.com  #本地hosts文件配置域名映射
      2.输入域名 http://www.gdz.com/xxl-job-admin/ 
      3.看到如下图,说明高可用的调度平台已经搭建好

在这里插入图片描述

四.添加定时任务(执行器)

 说明:1.源码中有五种方式添加定时任务,这里使用springboot。
	  2. 新建springboot项目(也可以直接在源码上修改,打包)
      3.引入maven依赖
        <dependency>
			<groupId>com.xuxueli</groupId>
			<artifactId>xxl-job-core</artifactId>
			<version>2.0.1</version>
		</dependency>
	  3. 将源码包下的XxlJobConfig配置文件拷贝到自己的项目目录下,并修改包路径
	  4. 修改配置文件
	  5. 添加自己的定时任务
  1. 源码中有五种方式添加定时任务,这里使用springboot。
    在这里插入图片描述
  2. 将源码包下的XxlJobConfig配置文件拷贝到自己的项目目录下,并修改包路径
    在这里插入图片描述
  3. 添加自己的定时任务
    在这里插入图片描述
  4. 修改配置文件
    在这里插入图片描述
  5. 新增执行器
    在这里插入图片描述
  6. 新增任务
    在这里插入图片描述

五.测试一下

两台服务器172.25.62.101,172.25.62.101部署了相同的定时任务代码,图中可以看出,现在只有172.25.62.101这台服务器执行定时任务,172.25.62.101没有执行。
在这里插入图片描述
此时将172.25.62.101执行器kill,这时定时任务转移到172.25.62.102服务器继续执行。
在这里插入图片描述
查看调度日志,可以看到定时任务正确执行
在这里插入图片描述
至此,高可用的分布式定时任务就已经ok了。但是还得思考个问题,为啥相同的代码在两台机器上只会执行一次?因为调度平台只会选择一个执行器去执行,通过得到执行器的机器地址,找到JobHandler,底层通过反射机制来执行定时任务代码。

  • 1
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
Nginx是一个高性能的开源Web服务器,同时也可以用作反向代理服务器、负载均衡器和流媒体服务器。Nginx的Rtmp-Module是一个第三方模块,它为Nginx服务器添加了RTMP(Real-Time Messaging Protocol)支持,使其可以充当一个流媒体服务器。FFmpeg是一个跨平台的音视频处理工具,它可以用来进行多媒体文件的转码、编解码、录制和流媒体传输等操作。 引用中提到了使用Nginx Nginx-Rtmp-Module Ffmpeg搭建流媒体服务器的方法。具体配置可以查看conf/nginx.conf文件。首先需要解压文件,然后运行nginx_start.bat文件来启动Nginx服务器。这样就可以使用Nginx服务器提供的RTMP服务,通过FFmpeg推送一个RTMP流到Nginx,然后客户端可以通过访问Nginx来收看实时视频流。还可以使用HLS(HTTP Live Streaming)协议,通过HTTP协议来访问Nginx服务器并收看视频流,但是FFmpeg推送流仍然是RTMP的。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器服务器](https://blog.csdn.net/sinat_16643223/article/details/115108327)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [ffmpeg+nginx+nginx-rtmp-module搭建个人直播平台](https://download.csdn.net/download/qq_29114677/13012815)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值