0102xxl-job报错-xxl-rpc remoting error-容器间通信-docker项目部署

文章目录

1.前言

本项目为java开发的微服务项目,涉及订单支付超时需要通过定时任务扫描是否超期,进而取消订单。定时任务选择xxl-job,项目部署中间件和服务都是通过docker-compose部署,软件如下:

应用 版本 描述
docker 26.1.4 容器
docker-compose 2.14.0 通过配置文件部署docker工具
xxl-job 2.3.0 分布式任务调度平台
java 1.8

部署服务器:

ip 描述
172.17.69.16 中间件服务器,部署mysql、minio、rocketmq、redis、nacos等
172.17.69.17 应用服务器,部署开发的服务,包括前后端程序

2.问题

报错1 :xxl-job容器和服务容器启动后,在xxl-job-admin web端配置执行器,自动注册,配置定时任务,执行,报错,如下图所示:

报错2: 执行器改为手动注册,ip地址改为宿主机ip地址后,依然报错,如下图所示:

3.解决方案

报错1解决方案:

  • 参考下面链接1,2,我把自动注册关闭,改为手动注册,ip地址改为宿主ip

报错2解决方案:

  1. 排查服务器端口9999,发现端口未监听

  2. 我们在配置支付服务模块的docker-compose.yml中暴露端口9999,如下配置

    yaml 复制代码
        ports:
          - 19004:19004
          - 9999:9999

    其他配置省略

定时任务执行成功,如下图所示:

思路:

  1. 确保xxl-job和服务之间能正常通信
  2. 当xxl-job和服务之间不在同一网段、局域网、服务器或者容器时,可能导致服务能连上xxl-job,但是xxl-job定时任务无法调用服务
  3. 当xxl-job通过容器部署时,执行注册需要改为手动,地址为:http://ip:port/ 形式
    1. IP:执行器服务所在服务器ip地址
    2. 端口自定义
  4. 当执行器服务也部署在容器中时,手动注册的自定义端口也需要挂载在容器中暴露出来

4.思考

  1. 执行器注册的端口用来做什么?
  2. 如何确认手动注册的自定义端口也所挂载在哪个容器?

结语

❓QQ:806797785

⭐️仓库地址:https://gitee.com/gaogzhen

⭐️仓库地址:https://github.com/gaogzhen

1\][**xxl-rpc remoting error(connect timed out)**](https://blog.51cto.com/jackwei/5408046)\[CP/OL\]. \[2\][msg:xxl-rpc remoting error(Connection timed out: connect), for url : http://192.168.48.1:9999/run](https://github.com/xuxueli/xxl-job/issues/2154)\[CP/OL\]. \[3\][docker-compose部署xxl-job分布式调度任务遇到的坑:xxl-rpc remoting error(Connection refused (Connection refused))](https://gitcode.csdn.net/66c6e1a00bfad230b8ae75f7.html)\[CP/OL\].

相关推荐
码农飞哥2 小时前
互联网大厂Java面试实战:Spring Boot到微服务的技术问答解析
java·数据库·spring boot·缓存·微服务·消息队列·面试技巧
掘金-我是哪吒3 小时前
分布式微服务系统架构第126集:集群,数据库扩展,多节点分布,分库,分表,分片,分表,运维
运维·数据库·分布式·微服务·系统架构
xbd_zc5 小时前
【Jenkins简单自动化部署案例:基于Docker和Harbor的自动化部署流程记录】
docker·自动化·jenkins·harbor
我的璨宝宝啊6 小时前
linux小主机搭建自己的nas(三)docker安装nextcloud
linux·运维·docker
大米☋6 小时前
GitLab搭建与使用(SSH和Docker)两种方式
docker·ssh·gitlab
污斑兔7 小时前
在Mac环境下搭建Docker环境的全攻略
docker
modest —YBW7 小时前
Ollama+OpenWebUI+docker完整版部署,附带软件下载链接,配置+中文汉化+docker源,适合内网部署,可以局域网使用
人工智能·windows·docker·语言模型·llama
RingWu8 小时前
微服务架构-限流、熔断:Alibaba Sentinel入门
微服务·架构·sentinel
李匠20248 小时前
C++GO语言微服务基础技术②
开发语言·c++·微服务·golang
掘金-我是哪吒8 小时前
分布式微服务系统架构第130集:Python工程化FastAPI,运维Nginx-keepalived+Nginx实现高可用集群
运维·分布式·微服务·系统架构·fastapi