专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

RabbitMQZeroMQ和Kafka是一个层级的东西吗_java

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/9 5:11:08       共计:3567 浏览

RabbitMQZeroMQ和Kafka是一个层级的东西吗?

RabbitMQ、ZeroMQ和Kafka是一个层级的东西么?这个还真心不清楚,对于RabbitMQ和Kafka在项目开发中或多或少使用过,而ZeroMQ之前都没有听说过,更何谈了解使用呢?接下来我就简单说说我对RabbitMQ和Kafka的认识,以及相关的使用场景。

先来说说RabbitMQ,这个使用的业务场景比较广泛,所有传统意义上的消息队列解耦的情况几乎都可以用RabbitMQ来解决。记得之前做用户登录的活跃人次统计时,由于初期的设计不支持这种报表查询,而且报表的定制特性不适合通过基础框架来做开发,随后的方案就是通过解析登录日志文件来生成用户的登录记录,然后通过RabbitMQ将解析完成的记录发给做报表的团队,完成任务间的协同开发。定时任务解析、RabbitMQ解耦,较为从容的完成了月登录人次的统计,是应用解耦使用的典型场景。经过实践,RabbitMQ在三个比较典型的场景中使用较多,即异步处理、应用解耦、流量削峰。

再来说说Kafka,Kafka设计的初衷就是处理日志的,可以看做是一个日志系统,针对性很强。其典型的应用场景是用户访问日志的存储和使用,结合storm流组件进行访问日志、点击流日志的实时流量,以及其他类似的业务场景。典型的使用场景有:日志收集、消息系统、用户活动跟踪、运营指标、流式处理等。kafka的特性如下:

- 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。- 可扩展性:kafka集群支持热扩展- 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失- 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)- 高并发:支持数千个客户端同时读写

综合考虑,RabbitMq比kafka的对比如下:RabbitMq比Kafka成熟,在可用性上,稳定性上,可靠性上,RabbitMq超过Kafka;Kafka设计的初衷就是处理日志的,可以看做是一个日志系统,针对性很强,所以它并没有具备一个成熟MQ应该具备的特性;Kafka的性能(吞吐量、tps)比RabbitMq要强,两者在这方面没有可比性。

作者:夕阳雨晴,欢迎关注我的头条号:偶尔美文,主流Java,为你讲述不一样的码农生活。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:迅雷离线下载怎么用把下在的东西转到电脑上来_服务器 | ·下一条:在sybase中怎么用bcp导入数据_java

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有