手把手教你学会RabbitMQ(上)

简介: 前几天阿粉在看关于如何处理分布式事务的解决方案,于是就看到了关于使用最大努力通知来处理分布式事务的问题,而这其中最不可或缺的就是消息中间件了,那么什么是消息中间件呢?

为什么有消息中间件

前几天阿粉在看关于如何处理分布式事务的解决方案,于是就看到了关于使用最大努力通知来处理分布式事务的问题,而这其中最不可或缺的就是消息中间件了,那么什么是消息中间件呢?

1. 什么是消息中间件

在百度百科给出的解释是:消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。

59.jpg

大家看上图,实际上就是生产者发给消息中间件一点东西,然后提供给消费者去消费,这样理解是不是就比百度百科要简单了很多了。

2. 消息中间件的种类

我们在这里先不讨论消息中间件的组成,下面会继续讲解,我们先看看都有哪些消息中间件,以及他们之间都有什么特点

1.ActiveMQ

ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。毕竟是Apache来维护的,功能还是非常强大的,

  • 支持Java消息服务(JMS)
  • 集群 (Clustering)
  • 协议支持包括:OpenWire、REST、STOMP、WS-Notification、MQTT、XMPP以及AMQP。

但是ActiveMQ的缺点一样也是很明显的,版本更新很缓慢。集群模式需要依赖Zookeeper实现。虽然现在有了Apollo,号称下一代ActiveMQ,目前案例那是少的可怜。

2.RabbitMQ

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)

生态丰富,使用者众,有很多人在前面踩坑。AMQP协议的领导实现,支持多种场景

3.RocketMQ

RocketMQ是阿里开源的消息中间件,目前在Apache孵化,使用纯Java开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点,如果大家使用过Kafka的话,那么你就会发现RocketMQ其实和Kafka很相似,但是绝对不是单纯的摘出来了一块内容那么简单,目前在阿里集团被广泛应用于交易、充值、流计算、消息推送、日志流式处理、binglog分发等场景,支撑了阿里多次双十一活动。

4.Kafka

Kafka是LinkedIn于2010年12月开发并开源的一个分布式流平台,现在是Apache的顶级项目,是一个高性能跨语言分布式Publish/Subscribe消息队列系统,以Pull的形式消费消息。Kafka自身服务与消息的生产和消费都依赖于Zookeeper,使用Scala语言开发。学习成本有时候会非常的大,不过阿粉也是相信大家对这个东西肯定很好奇,因为毕竟他是大数据生态系统中不可缺少的一环,以后阿粉会陆陆续续的去带着大家学习这块的内容。

说完了区分,那么我们就得开始正儿八经的学习RabbitMQ了,安装,使用,整合到项目中,一气呵成。

3. RabbitMQ的安装

关于安装的教程,阿粉就不再给大家一一的去说了,毕竟网上有的是教程,官网也有指定的教程,【https://www.rabbitmq.com/】 官网在这里,不过大家需要注意一件事情,RabbitMQ如果你想要安装Windows版本的话,那么你一定得先装一个环境,那就是erlang语言的环境,否则,你是装不到Windows上的。

安装完成之后,登录上他的后台,IP/port,

61.jpg

默认登录进去就是这个样子滴。

62.jpg

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
6天前
|
消息中间件 存储 Kafka
01.RabbitMQ入门
01.RabbitMQ入门
25 0
|
2月前
|
消息中间件 Java
RabbitMQ笔记
RabbitMQ笔记
37 2
RabbitMQ笔记
|
2月前
|
消息中间件 监控 Linux
【RabbitMQ教程】第一章 —— RabbitMQ - 安装
【RabbitMQ教程】第一章 —— RabbitMQ - 安装
|
10月前
|
消息中间件 存储 网络协议
RabbitMQ 入门系列(一)
RabbitMQ 入门系列(一)
134 0
RabbitMQ 入门系列(一)
|
12月前
|
消息中间件 存储 监控
RabbitMQ:从入门到实践
1. RabbitMQ简介 RabbitMQ是一款开源的、基于AMQP协议的消息队列系统,用于构建可扩展、高性能、松耦合的分布式系统。RabbitMQ具有以下特点: 支持多种语言和平台:Java、Python、Ruby、.NET等 提供丰富的交换器类型和路由策略:直接、广播、主题和头 支持消息持久化和高可用性:保证消息不丢失,服务可用性 提供管理界面和监控插件:方便管理和监控RabbitMQ服务器 社区活跃,文档丰富:易于学习和使用
4710 2
RabbitMQ:从入门到实践
|
10月前
|
消息中间件 网络架构
RabbitMQ 入门系列(四)
RabbitMQ 入门系列(四)
54 0
|
10月前
|
消息中间件 负载均衡
RabbitMQ 入门系列(二)
RabbitMQ 入门系列(二)
109 0
|
10月前
|
消息中间件
RabbitMQ 入门系列(三)
RabbitMQ 入门系列(三)
98 0
|
消息中间件 存储 数据可视化
1、RabbitMQ教程-RabbitMQ简介
1、RabbitMQ教程-RabbitMQ简介
109 0
1、RabbitMQ教程-RabbitMQ简介
|
消息中间件 存储 缓存
RabbitMQ 实战教程(一)
RabbitMQ 实战教程(一)
193 0
RabbitMQ 实战教程(一)