一、开发语言:1、Java是运行在JVM上的语言。2、erlang和最近比较火的和go语言一样是从代码级别就支持高并发的一种语言,
二、协议:1.RabbitMQ天生就有很高的并发性能,但是 有RabbitMQ严格按照AMQP进行实现,受到了很多限制。2.kafka的设计目标是高吞吐量,所以kafka自己设计了一套高性能但是不通用的协议,他也是仿照AMQP( Advanced Message Queuing Protocol   高级消息队列协议)设计的。
三、事务:1.在数据库中,多个操作一起提交,要么操作全部成功,要么全部失败。举个例子, 在转账的时候付款和收款,就是一个事物的例子,你给一个人转账,你转成功,并且对方正常行收到款项后,这个操作才算成功,有一方失败,那么这个操作就是失败的。 2.对应消在息队列中,就是多条消息一起发送,要么全部成功,要么全部失败。3个中只有ActiveMQ支持,这个是因    为,RabbitMQ和Kafka为了更高的性能,而放弃了对事物的支持 。
四、集群:多台服务器组成的整体叫做集群,这个整体对生产者和消费者来说,是透明的。其实对消费系统组成的集群添加一台服务器减少一台服务器对生产者和消费者都是无感之的。
五、负载均衡:对消息系统来说负载均衡是大量的生产者和消费者向消息系统发出请求消息,系统必须均衡这些请求使得每一台服务器的请求达到平衡,而不是大量的请求,落到某一台或几台,使得这几台服务器高负荷或超负荷工作,严重情况下会停止服务或宕机。
六、动态扩容:动态扩容是很多公司要求的技术之一,不支持动态扩容就意味着停止服务,这对很多公司来说是不可以接受的。 Kafka的动态扩容是通过Zookeeper来实现的。

注:
阿里巴巴的Metal,RocketMQ都有Kafka的影子,他们要么改造了Kafka或者借鉴了Kafka。

Zookeeper是一种在分布式系统中被广泛用来作为:分布式状态管理、分布式协调管理、分布式配置管理、和分布式锁服务的集群。kafka增加和减少服务器都会在Zookeeper节点上触发相应的事件kafka系统会捕获这些事件,进行新一轮的负载均衡,客户端也会捕获这些事件来进行新一轮的处理。




*觉得有用可以关注博主哦,如果再不能相遇,祝你早午晚都安。。。

Java面试汇总四 当下主流MQ消息队列的优缺点相关推荐

  1. 用友Java面试汇总

    用友Java面试汇总 春招实习 参考意义不大 昨天晚上接到了用友的电话,让我订时间,约好今天1点30 1点40开始电话面试 (1)自我介绍,根据情况进行一些简单提问,例如问了我做项目的感受是什么,进入 ...

  2. 多维度对比5款主流分布式MQ消息队列,妈妈再也不担心我的技术选型了

    1.引言 对于即时通讯网来说,所有的技术文章和资料都在围绕即时通讯这个技术方向进行整理和分享,这一次也不例外.对于即时通讯系统(包括IM.消息推送系统等)来说,MQ消息中件间是非常常见的基础软件,但市 ...

  3. java使用mq教程,Java语言快速实现简单MQ消息队列服务

    使用 JAVA 语言自己动手来写一个MQ (类似ActiveMQ,RabbitMQ) 主要角色 首先我们必须需要搞明白 MQ (消息队列) 中的三个基本角色 Producer Broker Consu ...

  4. PHP面试要点——MQ消息队列

    MQ消息队列 常见的消息队列有RabbitMQ.kafka.redis RabbitMQ RabbitMQ是使用Erlang编写的一个开源消息队列,本身支持很多协议,实现了AMQP协议,重量级的.实现 ...

  5. MQ消息队列详解、四大MQ的优缺点分析

    MQ消息队列详解.四大MQ的优缺点分析 前言 面试题切入 面试官心理分析 面试题剖析 ①为什么要使用MQ 系统解耦 异步调用 流量削峰 消息队列的优缺点 四大主流MQ(kafka.ActiveMQ.R ...

  6. IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列

    1.引言 消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一. 消息从发送者到接收者的典型传递方式有两种: 1)一种我 ...

  7. 【重难点】【RabbitMQ 01】消息队列的作用、主流的消息队列、RabbitMQ 基于什么传输消息、RabbitMQ 模型架构、死信队列和延迟队列

    [重难点][RabbitMQ 01]消息队列的作用.主流的消息队列.RabbitMQ 基于什么传输消息.RabbitMQ 模型架构.死信队列和延迟队列 文章目录 [重难点][RabbitMQ 01]消 ...

  8. 消息中间件系列(三):主流的消息队列中间件有哪些?

    消息队列已经逐渐成为企业IT系统内部通信的核心手段.它具有低耦合.可靠投递.广播.流量控制.最终一致性等一系列功能,成为异步RPC的主要手段之一. 当今市面上有很多主流的消息中间件,如老牌的Activ ...

  9. 消息中间件系列(五):MQ消息队列的12点核心原理总结

    消息队列已经逐渐成为分布式应用场景.内部通信.以及秒杀等高并发业务场景的核心手段,它具有低耦合.可靠投递.广播.流量控制.最终一致性 等一系列功能. 无论是 RabbitMQ.RocketMQ.Act ...

最新文章

  1. python删除字典中性别为男_python初学者,用python3实现基本的学生管理系统代码实例...
  2. 设计模式笔记7:原型模式
  3. C++文件流:myfstream,fstream,文件读写,随机文件读写【C++文件流】(59)
  4. 网易云信新增用户、IM、实时音视频多维度统计功能
  5. ObjectT5:在线随机森林-Multi-Forest-A chameleon in track in
  6. c 调用python_c调用python
  7. WordPress疑难问题以及解决方案汇总
  8. DataGridView打印
  9. [Python] L1-018. 大笨钟-PAT团体程序设计天梯赛GPLT
  10. Vue router-link 两种传参方法及参数的使用
  11. 2020 年度 OSC 中国开源项目评选结果公布
  12. 如何提高go代码覆盖率_我是如何把5万行C++代码移植到Go的?
  13. EasyRecovery数据恢复软件中文版免费下载v15.0绿色版
  14. 有关并联机器人动力学的学习
  15. 解决:关于 “VMware Workstation 不可恢复错误- (vcpu-0)”
  16. operands could not be broadcast together with shapes
  17. 【预测模型-随机森林分类】基于随机森林算法实现数据分类附matlab代码
  18. 前端HTML中防止用户在短时间内频繁多次点击按钮
  19. 【C++】如何释放vector的内存空间及std::vector::shrink_to_fit用法简介
  20. SAP中由生产版本有误导致的生产报工时提示“错误确定成本核算”问题实例

热门文章

  1. HTTP.sys远程代码执行漏洞
  2. 2023的展望:不积跬步,无以至千里;不积小流,无以成江海
  3. java中Static内存图解
  4. MySQL知识点总结
  5. Spring Boot 菜鸟教程 3 MyBatis
  6. 虹科 | 主机总线适配器:CPU的“速效救心丸”
  7. hosts文件修改之后立刻刷新
  8. python读取txt文件特定内容,并绘制折线图
  9. 圣地亚哥大学 学计算机 咋样,圣地亚哥大学的计算机专业如何?
  10. Extract temperature and bt from station of Tib