RocketMQ入门(1)
转自:http://www.changeself.net/archives/rocketmq入门(1).html
RocketMQ是一款分布式、队列模型的消息中间件,具有以下特点:能够保证严格的消息顺序
- 能够保证严格的消息顺序
- 提供丰富的消息拉取模式
- 高效的订阅者水平扩展能力
- 实时的消息订阅机制
- 亿级消息堆积能力
一.RocketMQ网络部署特点

二.RocketMQ储存特点

三.RocketMQ关键特性
1.单机支持1W以上的持久化队列

这样做的好处:
每个方案都有优缺点,他的缺点是:
以上缺点如何客服:
2.刷盘策略
2.1 异步刷盘
(1). 由于磁盘速度大于网卡速度,那么刷盘的进度肯定可以跟上消息的写入速度。(2). 万一由于此时系统压力过大,可能堆积消息,除了写入 IO,还有读取 IO,万一出现磁盘读取落后情况,会不会导致系统内存溢出,答案是否定的,原因如下:
a) 写入消息到 PAGECACHE 时,如果内存不足,则尝试丢弃干净的 PAGE,腾出内存供新消息使用,策略是 LRU 方式。b) 如果干净页不足,此时写入 PAGECACHE 会被阻塞,系统尝试刷盘部分数据,大约每次尝试 32 个 PAGE,来找出更多干净 PAGE。综上,内存溢出的情况不会出现
2.2同步刷盘:

3.消息查询
3.1按照MessageId查询消息

3.2按照Message Key查询消息

4.服务器消息过滤

为什么过滤要这么做?
5.单个JVM进程也能利用机器超大内存

6.消息堆积问题解决办法
| 堆积性能指标 | ||
| 1 | 消息的堆积容量 | 依赖磁盘大小 |
| 2 | 发消息的吞吐量大小受影响程度 | 无Slave情况,会受一定影响 有Slave情况,不受影响 |
| 3 | 正常消费的Consumer是否会受影响 | 无Slave情况,会受一定影响 有Slave情况,不受影响 |
| 4 | 访问堆积在磁盘的消息时,吞吐量有多大 | 与访问的并发有关,最终会降到5000左右 |
RocketMQ入门(1)的更多相关文章
- RocketMQ入门(3)拉取消息
转自:http://www.changeself.net/archives/rocketmq入门(3)拉取消息.html RocketMQ入门(3)拉取消息 RocketMQ不止可以直接推送消息,在消 ...
- RocketMQ入门(2)最佳实践
转自:http://www.changeself.net/archives/rocketmq入门(2)最佳实践.html RocketMQ入门(2)最佳实践 一.服务端安装部署 我是在虚拟机中的Cen ...
- RocketMQ入门(消费者)_3
消费者角色: 1. 推式(一般建议用推式) 2. 拉式 消费模式: 1. 集群(cluster) --均衡负载消费 2. 广播(broadcasting) --发布和订阅 ...
- 必须先理解的RocketMQ入门手册,才能再次深入解读
RocketMQ入门手册 RocketMQ是一个分布式.队列模型的开源消息中间件,前身是MetaQ,是阿里研发的一个队列模型的消息中间件,后开源给apache基金会成为了apache的顶级开源项目,具 ...
- RocketMQ入门到入土(二)事务消息&顺序消息
接上一篇:RocketMQ入门到入土(一)新手也能看懂的原理和实战! 一.事务消息的由来 1.案例 引用官方的购物案例: 小明购买一个100元的东西,账户扣款100元的同时需要保证在下游的积分系统给小 ...
- (一)RocketMq入门之安装运行
一.几个重要的地址 Git地址:https://github.com/apache/incubator-rocketmq 编译好的文件:https://rocketmq.incubator.apach ...
- 消息队列之-RocketMQ入门
简介 RocketMQ是阿里开源的消息中间件,目前已经捐献个Apache基金会,它是由Java语言开发的,具备高吞吐量.高可用性.适合大规模分布式系统应用等特点,经历过双11的洗礼,实力不容小觑. 官 ...
- RocketMQ入门
本文首先引出消息中间件通常需要解决哪些问题,在解决这些问题当中会遇到什么困难,Apache RocketMQ作为阿里开源的一款高性能.高吞吐量的分布式消息中间件否可以解决,规范中如何定义这些问题.然后 ...
- Alibaba(阿里) RocketMQ入门实例
摘自:码友18年(www.mayou18.com) what is rocketMQ? RocketMQ作为一款分布式的消息中间件(阿里的说法是不遵循任何规范的,所以不能完全用JMS的那一套东西来看它 ...
随机推荐
- Hoax or what
Hoax or what 题意是询问一个动态序列的最小值和最大值. 可以用multiset来实现. #include <stdio.h> #include <set> usin ...
- SGU111 Very simple problem
多少个平方数小于等于X,二分. PS:java BigInteger. import java.util.*; import java.math.*; public class Solution { ...
- POJ2240——Arbitrage(Floyd算法变形)
Arbitrage DescriptionArbitrage is the use of discrepancies in currency exchange rates to transform o ...
- SQL Server中Delete语句表名不能用别名
delete from TABLEA A where A.FIELD1=10 (ORACLE适用)delete TABLEA from TABLEA A where A.FIELD1=1 ...
- 使用JRockit进行性能优化一:环境搭建
1. jrockit简介 jrockit前身是BA jrockit,后被oracle收购,并免费发布,但并不开源. jrockit可以看做是兼容标准的JDK基础上的JVM,同原有的JVM相比, ...
- [转]jBoss事务控制
转自:http://blog.csdn.net/trendgrucee/article/details/8545512 一.基础知识 1.JTA,即Java Transaction API,译为J ...
- 百度分享不支持https的解决方案
站点自从开启 https 之后 ,百度分享就不能用了!但是又寻找不到类似百度分享的替代品.. 怎么办呢?要如何解决 百度分享不支持https的问题呢, 跟着博主动动手,让你百度分享仍然能在https下 ...
- oracle11g dataguard部署指南
一.Oracle11DB+DG配置 1. 单机环境介绍(PRIMARY DATABASE) 主库 primary public ip 192.168.0.252 ...
- jquery滚动条
查看demo: 下载Demo
- C# 中的枚举类型 enum (属于值类型)
原文 C# 中的枚举类型 enum (属于值类型) C# 支持两种特殊的值类型:枚举和结构. 声明枚举:声明时要声明所有可能的值. using System; using System.Collect ...