技术选型和优劣对比
流处理框架
Flink vs Spark Streaming vs Storm
Flink
1、复杂时间处理:同时支持事件时间,接入时间,处理时间的选择,便于精准处理乱序事件和窗口运算
2、窗口操作灵活:提供了包括基于时间,计数,会话以及数据驱动的窗口定义
3、流批一体:基于事件驱动,低延迟,其他的系统都是通过"微批处理"实现的
4、独立的内存管理:基于JVM进行了独立的内存管理优化
5、状态管理,设计了checkpoint,保证容错状态下的恢复
6、智能背压控制:内建了BackPressure功能,具备自我调节流量能力,防止数据积压导致系统阻塞
7、社区活跃,一直在持续的优化和改进
Spark Streaming
基于Spark的弹性分布式数据集(RDD)构建,基于微批处理,不够实时,存在延时,秒级延时
Storm
劣势:吞吐和延迟不及flink,无状态,需要用户自己进行状态管理;缺少窗口,时间处理,聚合,会话等高级功能,社区活跃度低
Hive vs SparkSql(快和慢)
sparkSql利用了spark的弹性分布式数据集和内存计算能力,hive基于hadoop的MapReduce计算,不是在内存中做的计算,需要更多的IO,序列化和反序列化操作
有哪些任务调度的框架
Quartz
性能问题,大批量任务的时候,数据库可能成为瓶颈
xxl-job
轻量级分布式任务调度框架,支持通过web页面对任务进行动态的CURD操作,支持高可用,故障转移,
有哪些工作流任务调度框架
Apache Azkaban
Oozie
DolphinScheduler
一个分布式、易扩展的可视化DAG工作流任务调度平台,主要用于解决数据处理过程中复杂任务依赖与调度的问题
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库