业务背景今日头条的服务大量使用微服务,容器数目巨大,业务线繁多,Topic的数量也非常多。另外,使用的语言比较繁杂,包括Python,Go,C++,Java,JS等,对于基础组件的接入,维护SDK的成本很高。引入RocketMQ之前采用的消息队列是NSQ和kafka,NSQ是纯内存的消息队列,缺少消息的持久性,不落盘直接写到Golang的channel里,在并发量高的时候CPU利用率非常高,其优点
分类:
其他好文 时间:
2019-11-15 20:26:28
阅读次数:
60
RocketMQ 相比于 RabbitMQ、Kafka 具有主要优势特性有: 支持事务型消息(消息发送和DB操作保持两方的最终一致性,RabbitMQ 和Kafka 不支持) 支持结合 RocketMQ 的多个系统之间数据最终一致性(多方事务,二方事务是前提) 支持18个级别的延迟消息(Rabbit ...
分类:
其他好文 时间:
2019-11-15 20:23:31
阅读次数:
62
@ "TOC" 1、什么是ACL? ACL是access control list的简称,俗称访问控制列表。访问控制,基本上会涉及到用户、资源、权限、角色等概念,那在RocketMQ中上述会对应哪些对象呢? 用户 用户是访问控制的基础要素,也不难理解,RocketMQ ACL必然也会引入用户的概念, ...
分类:
其他好文 时间:
2019-11-14 22:00:55
阅读次数:
231
一.环境 1.系统 Windows 2. 环境 JDK1.8、Maven、Git 二. RocketMQ部署 1.下载 下载地址:http://rocketmq.apache.org/release_notes/release-notes-4.2.0/ 选择‘Binary’进行下载 2.配置 2.1 ...
编者注:Netty是Java领域有名的开源网络库,特点是高性能和高扩展性,因此很多流行的框架都是基于它来构建的,比如我们熟知的Dubbo、Rocketmq、Hadoop等,针对高性能RPC,一般都是基于Netty来构建,比如soft bolt。总之一句话,Java小伙伴们需要且有必要学会使用Nett ...
分类:
Web程序 时间:
2019-11-12 09:12:39
阅读次数:
84
编者注:Netty是Java领域有名的开源网络库,特点是高性能和高扩展性,因此很多流行的框架都是基于它来构建的,比如我们熟知的Dubbo、Rocketmq、Hadoop等,针对高性能RPC,一般都是基于Netty来构建,比如soft bolt。总之一句话,Java小伙伴们需要且有必要学会使用Nett ...
分类:
Web程序 时间:
2019-11-12 00:26:35
阅读次数:
125
其实最好的学习方式就是互相交流,最近也有跟网友讨论了一些关于 RocketMQ 消息拉取与重平衡的问题,我姑且在这里写下我的一些总结。 关于 push 模式下的消息循环拉取问题 之前发表了一篇关于重平衡的文章:「 "Kafka 重平衡机制" 」,里面有说到 RocketMQ 重平衡机制是每隔 20s ...
分类:
其他好文 时间:
2019-11-06 22:47:13
阅读次数:
114
一 . 系统说明: A系统阿里云平台,5台集群,每台:1-2核,内存6G,带宽上限2M,磁盘1G。 基于tomcat容器,主要业务消费rocketmq,再pegion(服务治理工具)调用第三方服务。 同时接入20个左右topic的mq,并每一次mq都会调用一次第三方服务,第三方服务有B,C,D等系统 ...
分类:
编程语言 时间:
2019-11-04 19:37:02
阅读次数:
213
前言在分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。 概念MQ简介MQ,Message queue,消息队列,就是指保存消息的一个容器。具体的定义这里就不类似于数据 ...
分类:
其他好文 时间:
2019-11-04 15:54:24
阅读次数:
96
单机部署 如果有多网卡, 启动nameserver, broker时要指定使用的ip 修改jvm内存占用参数 运维控制台 https://github.com/apache/rocketmq externals/blob/master/rocketmq console/doc/1_0_0/UserG ...
分类:
其他好文 时间:
2019-11-03 16:25:10
阅读次数:
86