#牛客在线求职答疑中心#请问佬们ActiveMQ、RabbitMQ、RocketMQ都是什么区别呀,学哪个比较好
全部评论
都大差不差 可以选RabbitMQ学 到时候公司用哪个再学一下就行了
1 回复 分享
发布于 2024-04-26 12:34 云南
ActiveMQ、RabbitMQ、RocketMQ都是消息队列中间件,它们之间的主要区别在于性能、可靠性、功能等方面。 1. ActiveMQ:Apache ActiveMQ是一个开源的消息代理,完全支持JMS 1.1和J2EE 1.4。它具有强大的功能,包括消息持久化、事务、集群等。但是,它的性能相对较低,并且存在一些稳定性问题。 2. RabbitMQ:RabbitMQ是一个开源的消息代理,它实现了AMQP协议。RabbitMQ具有高性能、高可靠性、高扩展性等特点。它支持多种语言和协议,如Java、.NET、C++等。此外,RabbitMQ还提供了丰富的插件,如消息持久化、集群等。 3. RocketMQ:RocketMQ是阿里巴巴开源的消息代理,它基于JMS规范,具有高性能、高可靠性、高扩展性等特点。RocketMQ支持分布式事务、消息回溯、消息堆积等特性。此外,RocketMQ还提供了丰富的插件,如消息持久化、集群等。 至于学哪个比较好,取决于你的需求和场景。如果你需要高性能、高可靠性的消息队列,那么RabbitMQ和RocketMQ是更好的选择。如果你需要支持多种语言和协议,那么RabbitMQ是更好的选择。如果你需要分布式事务、消息回溯等特性,那么RocketMQ是更好的选择。
1 回复 分享
发布于 2024-04-26 10:56 AI生成

相关推荐

1.项目难点2.你们系统的实际使用人数,有并发问题吗?3.使用redis处理过什么问题?选择什么数据结构?4.排行榜的zset里的score可以重复吗?--member唯一,score不唯一5.线上redis存在一个巨大的hash,比如1000万字段,每一小时需要全量读取做计算,如何保证不卡死?不影响其他业务?--需要注意的问题:(1)Redis单线程处理命令,一次性全读取会造成网络阻塞,导致其他用户的请求无法被处理;(2)内存和CPU;(3)OOM。如何解决?:(1)使用hscan命令进行游标遍历,一次只读一部分数据;(2)如果是先系统设计,可以按照用户id/时间等维度分片,读取时可以利用Redis的多路复用;6.实习实际的Redis是单机还是集群?--生产是哨兵模式7.比如有量特别大的数据,把redis当数据库使用的时候,单机和集群有什么区别?--单机模式受限于单台机器内存;主从复制 + 哨兵:所有节点(主+从)存储的都是全量数据,依然受限于单台机器内存;集群/分片:数据被切片分散存储,总容量 = 所有节点内存之和,写压力被分散到多个节点8.假设从数据库读数据写到redis中,集群的替代方案?(这个问题实在没听明白,听录音都听不懂什么意思?)9.对于 1w 条数据,如果排序逻辑特别复杂,而且用户还要勾选过滤,怎么实现?--提前排序,把结果按分数存进 Redis 的 ZSet;在 Redis 里用 Set 存好不同类别(用户勾选条件)的 ID 列表;做交集,取前500条即可有人知道这个公司怎么样吗?要提前实习,要了命了,通勤一个半小时😭,太难受了。而且995😭😭😭,这是人的日子吗,hr说薪资给17k-18k。。。。。。。。。。周五线下复试,我都纠结去不去了。。感觉薪资太少了又怕找不到别的工作😭
查看9道真题和解析
点赞 评论 收藏
分享
03-27 12:07
已编辑
北京中南海业余大学 Java
全程追问,压力很大(不过给的也确实多,可惜鼠鼠没把握住机会...哎),没有手撕,但是面试官会给场景让你说思路。面试官人也挺好的,引导式提问,不是纯刁难。只会八股确实不够用,着重考查实际能力。很多东西确实没有准备到,只能说好好复盘思考吧!1:讲一下你实习经历里,做的比较好、或者对你来说最有挑战的部分。2:你用 Redis 分布式锁的时候,锁的超时时间是怎么确定的?设置的多大?3:如果业务执行时间超过了锁的超时时间,会发生什么?4:加锁的执行过程中,服务宕机了,会有什么问题?对应的解决方案是什么?5:旁路缓存模式(查询先查缓存,无则查库写缓存;更新先更数据库,成功后删缓存),什么极端场景会出现缓存与数据库长时间不一致?6:上面这个长时间不一致的场景,有什么解决方案?7:一张表有 a、b 两个字段,分别建了单列索引,查询语句 where a=x and b=y,MySQL 是怎么决策用 a 索引还是 b 索引的?8:Java 服务线上发生内存溢出 OOM,你会怎么排查定位?步骤是什么?9:JVM 进行 GC 的时候,怎么判断一个对象是不是垃圾,能不能被回收?10:Java 并发的组件 / 类你有用过哪些?举一个实际开发中使用的具体场景。11:设计一个场景:异步发起 100 个任务请求外部接口,每个接口返回一个 int 值,并发执行后,统计这 100 个结果中的最大值,你会怎么设计?
查看11道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务