1. 为什么选择RocketMQ,而不是其他MQ

    1. 性能:阿里支撑,经受住淘宝,天猫双11重重考验;性能高;可靠性好;可用性高;易扩展。
    2. 功能:功能完善,我们需要的功能基本都够满足,如:事务消息,消息重试,死信队列,定时消息等。
    3. 易用:跨平台:跨语言,多协议接入(支持HTTP, MQTT, TCP协议,支持Restful风格HTTP收发消息)。
  2. RocketMQ 由哪些角色组成

    1. 生产者(Producer):负责产生消息,生产者向消息服务器发送由业务应用程序系统生成的消息。
    2. 消费者(Consumer):负责消费消息,消费者从消息服务器拉取信息并将其输入用户应用程序。
    3. 消息服务器(Broker):是消息存储中心,主要作用是接收来自 Producer的消息并存储, Consumer 从这里取得消息。
    4. 名称服务器(NameServer):用来保存 Broker 相关 Topic 等元信息并给 Producer ,提供 Consumer 查找Broker信息。
  3. 说说你对消费者的了解

    1. 获得 Topic-Broker 的映射关系。consumer 启动时需要指定 Namesrv 地址,与其中一个 Namesrv 建立长连接。消费者每隔 30 秒从 Namesrv 获取所有Topic 的最新队列情况,

      Consumer 跟 Broker 是长连接,会每隔 30 秒发心跳信息到Broker。
    2. 消费者端的负载均衡。根据消费者的消费模式不同,负载均衡方式也不同。
  4. 消费者消费模式有几种

    1. 集群消费:一个 Consumer Group 中的各个 Consumer 实例分摊去消费消息,即一条消息只会投递到一个 Consumer Group 下面的一个实例。
    2. 广播消费:消息将对一个Consumer Group 下的各个 Consumer实例都投递一遍。即使这些 Consumer 属于同一个Consumer Group ,消息也会被 Consumer Group 中的每个 Consumer 都消费一次。

参考(部分摘抄的文字版权属于原作者):

https://blog.csdn.net/pzq915981048/article/details/88971356

https://blog.csdn.net/huayushuangfei/article/details/80866642

面试连环炮系列(二十️四):为什么选择RocketMQ的更多相关文章

  1. 面试连环炮系列(十四): HTTP状态码302的跳转逻辑

    HTTP状态码302的跳转逻辑 302状态码表示重定向,浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地 ...

  2. 面试连环炮系列(十二):说说Atomiclnteger的使用场景

    说说Atomiclnteger的使用场景 AtomicInteger提供原子操作来进行Integer的使用,适合并发情况下的使用,比如两个线程对同一个整数累加. 为什么Atomiclnteger是线程 ...

  3. SSE图像算法优化系列二十四: 基于形态学的图像后期抗锯齿算法--MLAA优化研究。

    偶尔看到这样的一个算法,觉得还是蛮有意思的,花了将近10天多的时间研究了下相关代码. 以下为百度的结果:MLAA全称Morphological Antialiasing,意为形态抗锯齿是AMD推出的完 ...

  4. BizTalk开发系列(二十四) BizTalk项目框架建议

    Asp.NET有MVC框架,大部份的开发都是按照MVC进行的.BizTalk是面向消息的开发,不能完全采用分层的开发模式.而微软只提供了 BizTalk项目开发的基本策略,通过分析相关的Complex ...

  5. 面试连环炮系列(十五):说说Eureka的高可用方案

    说说Eureka的高可用方案 至少3个Eureka实例才能满足高可用,配置方法如下: 准备三个节点node1,node2,node3. 在每个实例的application.xml文件里加入 eurek ...

  6. 面试连环炮系列(十):一个线程调用两次start会怎么样

    一个线程调用两次start会怎么样 Java的线程是不允许启动两次的,第二次调用必然会抛出IllegalThreadStateException,这是一种运行时异常. 谈谈线程的生命周期和状态转移 新 ...

  7. 企业应用架构研究系列二十四:SQL Server 数据库调优之XEvent 探查器

    如果入职一些中小型公司,往往需要接手一些很"坑"的项目,到底多坑就不牢骚了,只讲一下,如果破解这些历史遗留的项目问题.项目代码可能短时间无法进行通读研究,我们就需要从底层数据库进行 ...

  8. Web 开发人员和设计师必读文章推荐【系列二十九】

    <Web 前端开发精华文章推荐>2014年第8期(总第29期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

  9. Web 前端开发人员和设计师必读文章推荐【系列二十八】

    <Web 前端开发精华文章推荐>2014年第7期(总第28期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

  10. Web 前端开发人员和设计师必读精华文章【系列二十六】

    <Web 前端开发精华文章推荐>2014年第5期(总第26期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

随机推荐

  1. STL-list模拟实现

    #pragma once #include"16my_Itetator.h" //测试用 #include<iostream> //测试用 using std::cou ...

  2. centos7挂载硬盘(大于2T)

    配置方法: 1.root账户下,执行 fdisk -l 命令查看挂载的硬盘设备,假设设备号为/dev/sdb,接下来我们使用parted命令来进行GPT分区 2.使用parted命令进行GPT分区 # ...

  3. Git 常用的基础命令

    #克隆项目到本地.url:项目的git地址:local_dir_name:克隆项目到本地的目录名称,如果不写就默认是git项目中的目录名称 git clone <url> <loca ...

  4. Linux 系统进程管理

    Linux 系统进程管理 目录 Linux 系统进程管理 一.进程的概述 1.1 什么是进程? 1.2 进程和程序的区别 1.3 进程的生命周期 1.4 进程的运行过程 二. 静态显示进程状态-ps ...

  5. navigator.aardio 代码备份

    import win.ui; import console; import process; import string.regex; import libs.router; /*DSG{{*/ ma ...

  6. Python Numpy 中的打印设置函数set_printoptions

    一 概述 np.set_printoptions()用于控制Python中小数的显示精度. 二 解析 np.set_printoptions(precision=None, threshold=Non ...

  7. 【开源库推荐】#5 Android高亮引导库

    原文:[开源库推荐]#5 Android高亮引导库 - Stars-One的杂货小窝 本文介绍2个高亮引导库HighLightPro和Curtain hyy920109/HighLightPro: A ...

  8. 海量数据去重的Hash与BloomFilter

    今天我们谈论一下散列表,我之前的两个博文写的都是关于平衡二叉树的 平衡二叉树 增删改查时间复杂度为log2n 平衡的目的是增删改以后,保证下次搜索能稳定排除一半的数据: 总结:通过比较保证有序,通过每 ...

  9. My97DatePicker设置默认时间

    <%@ page language="java"  pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC ...

  10. java unsigned int,int,long

    java 中没有unsigned int,处理这个要采用long. int x = (1<<31) 与int x= -(1<<31)答案是相同的 0xffff ffff 与0x ...