参考文档:
http://jm.taobao.org/2017/01/12/rocketmq-quick-start-in-10-minutes/
http://rocketmq.apache.org/docs/quick-start/
https://www.jianshu.com/p/824066d70da8
https://www.jianshu.com/p/453c6e7ff81c
https://www.infoq.cn/article/l*fg5StAPoKiQULat0SH

写在最前:

MQ(消息队列)是用于诸如异步实现、异构系统通信等常见的技术方案之一。

在日常技术方案中,从测试工程师的视角出发,主要需要知道以下几点:

  1. MQ本身不具备幂等性。
    在实际业务中,因为网络异常,很容易导致消息重发,又或者可能因为MQ宕机重启后,重复消费等。所以往往基于业务所需,当有写操作时,消费者服务的设计者需要自行保证业务的幂等。
  2. 在分布式服务中,需要考虑MQ消息是否能使事务达成最终一致性;如果MQ宕机或网络等问题导致消息无法被消费,是否需要增加补偿机制。
  3. MQ的日志查看。

关于MQ

MQ即Message Queue的意思。其是异步通信系统,是分布式架构的常用解决方案之一。
在当下主流MQ中,主要包括了 Kafka (这不仅仅是消息中间件),RocketMQ,RabbitMQ等。在Java技术栈领域中,基本都是选用RocketMQ作为消息中间件。

RocketMQ架构

RocketMQ 主要包括了: NameServer 、Broker 、Producer 和 Consumer

  • NameServer: 提供轻量级的服务发现和路由。 每个 NameServer 记录完整的路由信息,提供等效的读写服务,并支持快速存储扩展。

  • Broker: 通过提供轻量级的 Topic 和 Queue 机制来处理消息存储,同时支持推(push)和拉(pull)模式以及主从结构的容错机制。

  • Producer:生产者,产生消息的实例,拥有相同 Producer Group 的 Producer 组成一个集群。

  • Consumer:消费者,接收消息进行消费的实例,拥有相同 Consumer Group 的
    Consumer 组成一个集群。

消息中间件之 RocketMQ的更多相关文章

  1. 转 消息中间件:RocketMQ 介绍(特性、术语、原理、优缺点、消息顺序、消息重复)

    https://blog.csdn.net/jiangyu1013/article/details/81668671 消息中间件的作用 1. 应用解耦 2. 异步处理 比如用户注册场景,注册主流程完成 ...

  2. 手把手带你了解消息中间件(3)——RocketMQ

    一.RocketMQ简介   RocketMQ作为一款纯java.分布式.队列模型的开源消息中间件,支持事务消息.顺序消息.批量消息.定时消息.消息回溯等. 二.RocketMQ架构   如图所示为R ...

  3. 常见消息中间件之RocketMQ

    前言 RocketMQ是一款分布式.队列模型的消息中间件,由阿里巴巴自主研发的一款适用于高并发.高可靠性.海量数据场景的消息中间件.早期开源2.X版本名为MetaQ:2015年迭代3.X版本,更名为R ...

  4. RocketMQ集群部署记录

    RocketMQ集群部署记录 #引用    https://cloud.tencent.com/developer/article/1147765         一.RocketMQ基础知识介绍 A ...

  5. RocketMQ之消息幂等

    幂等(idempotent.idempotence)是一个数学与计算机学概念,常见于抽象代数中. 在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同. 首先我们了解一下什么是 ...

  6. 消息中间件——RabbitMQ(二)各大主流消息中间件综合对比介绍!

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

  7. 《专访 RocketMQ 联合创始人:项目思路、技术细节和未来规划》

    专访 RocketMQ 联合创始人:项目思路.技术细节和未来规划   木环 阅读数:138092017 年 2 月 20 日 18:00   编者按 这些年开源氛围越来越好,各大 IT 公司都纷纷将一 ...

  8. 《RocketMQ》

    作为一款消息中间件,RocketMQ需要解决的技术问题其实在分布式系统领域中都有所体现.首先如果将分布式系统的领域按照分布式通信.分布式存储.分布式计算以及分布式管理这四大部分进行划分,其实就会发现在 ...

  9. 高并发异步解耦利器:RocketMQ究竟强在哪里?

    上篇文章消息队列那么多,为什么建议深入了解下RabbitMQ?我们讲到了消息队列的发展史: 并且详细介绍了RabbitMQ,其功能也是挺强大的,那么,为啥又要搞一个RocketMQ出来呢?是重复造轮子 ...

随机推荐

  1. Spring MVC集成Swagger2.0

    在集成Swagger之前,得先说说什么是Swagger,它是用来做什么的,然后再讲讲怎么集成,怎么使用,当然,在这之前,需要了解一下OpenAPI. OpenAPI OpenAPI 3.0规范定义了一 ...

  2. jmeter常用性能监听器分析

    jmeter中提供了很多性能数据的监听器,我们通过监听器可以来分析性能瓶颈 本文以500线程的阶梯加压测试结果来描述图表. 常用监听器 1:Transactions per Second 监听动态TP ...

  3. LAMP框架

    一基本常识 LNMP (Linux + Nginx + MySQL + PHP) LAMP (Linux + Apache + MySQL + PHP) //php作为Apache的模块Apache. ...

  4. 应用安全 - 工具 - NScan - 漏洞汇总

    工具介绍 Date 用途 端口服务扫描 | whois | nslookup Nscan v0.9.1 缓冲区溢出导致远程代码执行 Date 类型缓冲区溢出导致远程代码执行 影响范围 复现字符量过多 ...

  5. Android - Retrofit 2.0 使用教程(含实例讲解)

    链接:https://blog.csdn.net/carson_ho/article/details/73732076

  6. 使用bat脚本进行开机启动批处理

    @echo off//关闭提示信息 start /b "F:\newProject\project\Kinect\Kinect\bin\Debug\" /min Kinect.ex ...

  7. Docker开启ssh服务

    一.准备 apt-get update       更新环境 apt-get install vim      安装vim vim  /etc/apt/source.list     更换软件源, 我 ...

  8. catch that cow POJ 3278 搜索

    catch that cow POJ 3278 搜索 题意 原题链接 john想要抓到那只牛,John和牛的位置在数轴上表示为n和k,john有三种移动方式:1. 向前移动一个单位,2. 向后移动一个 ...

  9. Linux菜狗入门(不停更新)

    资料来源:<腾讯课堂> 1, 计算机硬件包括CPU,内存,硬盘,声卡等等 2, 没有安装操作系统的计算机,通常被称为裸机 如果想在裸机上运行自己所编写的程序,就必须用机器语言书写程序 如果 ...

  10. HDU 2196 Computer( 树上节点的最远距离 )

    Computer Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...