RocketMQ系列
文章平均质量分 93
rocketmq基础知识入门
rocketmq集群环境搭建
rocketmq不同场景应用
喜鹊先生Richard
眼界之外,是更大的世界。
展开
-
RocketMQ概述
一、什么是RocketMQ?RocketMQ阿里开源的一款高性能、高吞吐量的分布式消息中间件什么是企业级分布式消息中间件?简单来说就是升级版的消息队列,而且它要满足如下功能消除单点故障保证消息传输可靠性可应对大流量冲击二、RocketMQ的功能介绍应用解耦流量削峰消息分发应用解耦以电商应用为例,用户创建订单后,如果搞合调用库存系统 、 物流系统 、 支付系统,任何一...原创 2019-01-30 15:39:38 · 344 阅读 · 0 评论 -
RocketMQ的环境搭建与相关配置
一、RocketMQ的下载http://rocketmq.apache.org/dowloading/releases/二、RocketMQ环境搭建搭建一个单机版的RocketMQ没有太大的实用价值,所以在这里搭建一个双主 、 双从 、 无单点故障的高可用 RocketMQ集群 。材料准备两台物理机(这里我采用了两台虚拟机)主机地址:192.168.223.41 node01192...原创 2019-01-30 16:14:15 · 826 阅读 · 0 评论 -
RocketMQ角色详解之Consumer
一、常用Consumer类DefaultMQPushConsumerDefaultMQPullConsumer二者的区别:DefaultMQPushConsumer:系统控制读取操作,收到消息后自动调用传入的处理方法来处理,实时性高DefaultMQPullConsumer:读取操作中的大部分功能由使用者自主控制 ,灵活性更高。两种Consumer的选取要主要取决于用户的使用场...原创 2019-01-30 16:58:39 · 654 阅读 · 0 评论 -
RocketMQ角色详解之Producer
一、常用Producer类最常用的producer类就是DefaultMQProducer,具体使用看下文二、DefaultMQProducer的消息发送步骤设置 ProducerGroupName设置 lnstanceName设置发送失败重试次数设置 NameServer 地址组装消息并发送具体代码参考如下:package org.apache.rocketmq.examp...原创 2019-01-30 17:20:04 · 568 阅读 · 0 评论 -
RocketMQ角色详解之NameServer
一、NameServer的功能NameServer是整个消息队列中的状态服务器,集群的各个组件通过它来了解全局的信息 。需要了解的两个知识:热备份: NamServer可以部署多个,相互之间独立,其他角色同时向多个NameServer 机器上报状态信息。心跳机制: NameServer 中的 Broker、 Topic等状态信息不会持久存储,都是由各个角色定时上报并存储到内存中,超时不上...原创 2019-01-30 17:29:03 · 1334 阅读 · 0 评论 -
RocketMQ角色详解之Broker
一、Broker概述Broker是 RocketMQ 的核心,大部分‘重量级”工作都是由 Broker完成的。包括接收 Producer 发过来的消息、处理 Consumer 的消费消息请求、消息的持 久化存储、消息的 HA 机制以及服务端过滤功能等 。二、消息的存储与转发分布式队列因为有高可靠性的要求,所以数据要通过磁盘进行持久化存储 。磁盘顺序写速度可以达到 600MB/s,但是随机......原创 2019-01-30 17:39:57 · 14702 阅读 · 0 评论 -
RocketMQ使用场景之可靠性优先Case
一、顺序消息的实现1.全局顺序消息要保证全局顺序消息,需要先把 Topic 的读写队列数设置为 1,然后 Producer 和 Consumer 的并发设置也要是1。在发送端,要做到 把同一业务 ID 的消息发送到同一个 Message Queue(使用 MessageQueueSelector类)2.部分顺序消息在消费过程中,要做到从 同一个 Message Queue 读取的消息...原创 2019-01-30 17:57:48 · 699 阅读 · 2 评论 -
RocketMQ使用场景之吞吐量优先Case
一、Broker端进行消息过滤,提高吞吐量在 Broker端进行消息过滤,可以减少无效消息发送到 Consumer,少占用网络带宽从而提高吞吐量 。过滤方式:方式1:通过tag 和 key 进行过滤(在创建Message时设置)Tag和 Key的主要差别是使用场景不同Tag用在 Consumer的代码中,用来进行服务端消息过滤Key 主要用于通过命令行查询消息 。方式2:通过sq...原创 2019-01-30 19:19:06 · 963 阅读 · 0 评论