热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

elasticjob和xxljob实践对比

elastic-job与xxl-job的实践数据对比。从多个维度,数据进行更适合的选择。简介技术文档都比较完善,学习成本低。elastic-job官网地

elastic-job与xxl-job的实践数据对比。从多个维度,数据进行更适合的选择。



简介


技术文档都比较完善,学习成本低。



elastic-job


官网地址:https://shardingsphere.apache.org/elasticjob/current/cn/overview/


E-Job 关注的是数据,增长了弹性扩容和数据分片的思路,以便于更大限度的利用分布式服务器的资源。可是学习成本相对高些,推荐在“数据量庞大,且部署服务器数量较多”时使用算法


xxl-job


官网地址:https://www.xuxueli.com/xxl-job/


X-Job 侧重的业务实现的简单和管理的方便,学习成本简单,失败策略和路由策略丰富。推荐使用在“用户基数相对少,服务器数量在必定范围内”的情景下使用


对比维度


前提条件均运行在K8S中,并且程序运行内存512M,正常运行12小时。



GC情况 (XXL-job完胜)


E-job

S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 43.10 0.00 6.18 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 6.18 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 6.18 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 6.18 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 6.18 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 6.30 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.280

XXL-job

S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 58.86 0.00 49.24 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.24 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.27 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.28 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.36 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.36 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.36 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.36 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.36 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.36 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.37 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.37 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.37 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.37 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 51.05 28.97 95.87 93.36 1190 26.351 3 0.380 26.731

对比结论


  • E:年轻代中Eden目前已使用的空间,波动率不一。
    • E-job 波动幅度大,并且空间使用大
    • XXL-job 波动幅度平均,并且短时间空间使用低
  • YGC:年轻代中E-job,gc次数大。

CPU/MEM情况

CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
e1b9efeec680 k8s_xxl-jobs_cloud-namespace_9a47d619-5a8b-4529-856b-2cbd972c726d_0 0.00% 844MiB / 15.28GiB 5.39% 0B / 0B 4.56MB / 12.3kB 353
ij7j09jiasdq k8s_e-jobs_test-namespace_154s24d2-s1s2-2355-322s-a2121da21saa_0 0.00% 719MiB / 15.28GiB 4.58% 0B / 0B 4.56MB / 12.3kB 353CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
e1b9efeec680 k8s_xxl-jobs_cloud-namespace_9a47d619-5a8b-4529-856b-2cbd972c726d_0 3.00% 844MiB / 15.28GiB 5.39% 0B / 0B 4.56MB / 12.3kB 353
ij7j09jiasdq k8s_e-jobs_test-namespace_154s24d2-s1s2-2355-322s-a2121da21saa_0 2.00% 719MiB / 15.28GiB 4.58% 0B / 0B 4.56MB / 12.3kB 353CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
e1b9efeec680 k8s_xxl-jobs_cloud-namespace_9a47d619-5a8b-4529-856b-2cbd972c726d_0 3.20% 844MiB / 15.28GiB 5.39% 0B / 0B 4.56MB / 12.3kB 353
ij7j09jiasdq k8s_e-jobs_test-namespace_154s24d2-s1s2-2355-322s-a2121da21saa_0 4.00% 719MiB / 15.28GiB 4.58% 0B / 0B 4.56MB / 12.3kB 353CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
e1b9efeec680 k8s_xxl-jobs_cloud-namespace_9a47d619-5a8b-4529-856b-2cbd972c726d_0 3.20% 844MiB / 15.28GiB 5.39% 0B / 0B 4.56MB / 12.3kB 353
ij7j09jiasdq k8s_e-jobs_test-namespace_154s24d2-s1s2-2355-322s-a2121da21saa_0 2.70% 719MiB / 15.28GiB 4.58% 0B / 0B 4.56MB / 12.3kB 353

对比结论

E-job稍微逊色一点,但是相差不多,对于上述比较的GC来看,个人觉得GC的可比性更重要。


支持集群部署 (感觉不通的情况使用)


XXL-job

集群部署唯一要求为:保证每个集群节点配置(db和登陆账号等)保持一致。调度中心通过db配置区分不同集群。
执行器支持集群部署,提升调度系统可用性,同时提升任务处理能力。集群部署唯一要求为:保证集群中每个执行器的配置项 “xxl.job.admin.addresses/调度中心地址” 保持一致,执行器根据该配置进行执行器自动注册等操作。


E-job

重写Quartz基于数据库的分布式功能,改用Zookeeper实现注册中心
作业注册中心: 基于Zookeeper和其客户端Curator实现的全局作业注册控制中心。用于注册,控制和协调分布式作业执行。


对比结论


  • 最新版本X-job 基于时间轮,使用数据库实现注册中心
  • E-Job基于quartz,改用Zookeeper实现注册中心

监控告警,日志追溯 (XXL-job完胜)


XXL-job

提供了调度器,支持日志查询,动态控制任务触发条件,支持配置邮箱地址进行异常告警。
xxl-job


E-job

需监听任务的处理是否成功,作业服务器是否存活,数据是否处理成功,自行编写告警程序。


对比结论


  • xxl-job对于动态任务执行,日志查询,告警更自动化,用法更建议,对于业务处理来说更方便
  • E-job这方便稍微欠缺。

大量数据处理,批量处理 (E-job完胜)


E-job

支持并行调度,采用任务分片实现,可自定义分片策略,并且通过zk实现服务注册,控制,协调,对服务器压力更少


XXL-job

支持任务分片,更加执行起集群实现动态分片。因为是通过数据来实现弹性扩容,如果任务服务器多了,会对服务器造成一定的压力


总结

综合来说,如果侧重于数据则使用E-job,侧重业务请使用XXL-job


推荐阅读
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • 关于CMS收集器的知识介绍和优缺点分析
    本文介绍了CMS收集器的概念、运行过程和优缺点,并解释了垃圾回收器的作用和实践。CMS收集器是一种基于标记-清除算法的垃圾回收器,适用于互联网站和B/S系统等对响应速度和停顿时间有较高要求的应用。同时,还提供了其他垃圾回收器的参考资料。 ... [详细]
  • 词袋模型的通俗介绍
    词,袋, ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • k8s+springboot+Eureka如何平滑上下线服务
    k8s+springboot+Eureka如何平滑上下线服务目录服务平滑上下线-k8s版本目录“上篇介绍了springboot+Euraka服务平滑上下线的方式,有部分小伙伴反馈k ... [详细]
  • Nextcloudsnap一键安装包: https:github.comextcloudextcloud-snap建议安装Ubuntu系统,因为官方一键安装包用的是Snap,Cen ... [详细]
author-avatar
,,,,,,,,,,,,,,,
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有