消息中间件

【RabbitMQ消息中间件】2.安装RabbitMQ

不想你离开。 提交于 2019-11-25 23:18:57
上一篇介绍了RabbitMQ的基本信息,本篇讲解如何安装RabbitMQ。 我们这里安装的是RabbitMQ的3.7.3版本。RabbitMQ有Windows版本和Linux版本,这里我们首先讲解Windows版本,后面做实例的时候,再安装Linux版本。 一、下载RabbitMQ 在浏览器访问下载地址: http://www.rabbitmq.com/download.html ,在下面页面中: 点击“ With installer (recommended)”进行下载: 分别下载RabbitMQ本身和其Erlang语言环境支持。 当点击上面的“Erlang for Windows”时页面会跳转至Erlang语言环境的下载页面: 补充:单独下载Erlang语言环境的地址是:http://www.erlang.org/downloads 选择Windows的版本下载,根据电脑的位数(32位或64位)来选择需要下载的版本。 所有下载完毕之后的文件结构为: 第一个是Erlang语言环境安装文件,第二个是RabbitMQ的安装文件。 二、windows下安装 (1)安装Erlang (2)安装RabbitMQ 安装好之后的目录结构为: 其中“sbin”下放置的是常用指令: 常用指令: rabbitmq-plugins enable rabbitmq_management 开启插件

消息中间件的四种投递模式对比

我只是一个虾纸丫 提交于 2019-11-25 19:59:30
消息中间件( Message Oriented Middleware,简称MOM)在企业开发中变得越来越重要。本文介绍消息中间件中的四种消息投递模型,主要是介绍模型的核心特性,以及不同模型之前的区别。这四种模型分别是: PTP模型 Pub/Sub模型 Partition模型 Transfer模型 其中PTP模型和Pub/Sub模型在JMS规范中有定义,消息中间件ActiveMQ就实现了JMS规范。然而一些消息中间件,并没有实现JMS规范,而是自己设计出了一套模型,例如Kafka和RocketMQ就采用了Partition模型。此外业界还有一些其他的消息投递模型,例如Transfer模型,这是笔者自己起的名字。 1、PTP模型 Point-to-Point,点对点通信模型。PTP是基于队列(Queue)的,一个队列可以有多个生产者,和多个消费者。消息服务器按照收到消息的先后顺序,将消息放到队列中。队列中的每一条消息,只能由一个消费者进行消费,消费之后就会从队列中移除。 需要注意的是,尽管这里使用Queue的概念,但并不是先进入队列消息,一定会被先消费。在存在多个下游Consumer情况下,一些消息中间件,例如ActiveMQ,为了提升消费能力,会将队列中的消息分发到不同Consumer并行进行处理。这意味着消息发送的时候可能是有序的,但是在消费的时候,就变成无序了。为了保证消费的有序

消息中间件的四种投递模式对比

天大地大妈咪最大 提交于 2019-11-25 19:59:19
消息中间件( Message Oriented Middleware,简称MOM)在企业开发中变得越来越重要。本文介绍消息中间件中的四种消息投递模型,主要是介绍模型的核心特性,以及不同模型之前的区别。这四种模型分别是: PTP模型 Pub/Sub模型 Partition模型 Transfer模型 其中PTP模型和Pub/Sub模型在JMS规范中有定义,消息中间件ActiveMQ就实现了JMS规范。然而一些消息中间件,并没有实现JMS规范,而是自己设计出了一套模型,例如Kafka和RocketMQ就采用了Partition模型。此外业界还有一些其他的消息投递模型,例如Transfer模型,这是笔者自己起的名字。 1、PTP模型 Point-to-Point,点对点通信模型。PTP是基于队列(Queue)的,一个队列可以有多个生产者,和多个消费者。消息服务器按照收到消息的先后顺序,将消息放到队列中。队列中的每一条消息,只能由一个消费者进行消费,消费之后就会从队列中移除。 需要注意的是,尽管这里使用Queue的概念,但并不是先进入队列消息,一定会被先消费。在存在多个下游Consumer情况下,一些消息中间件,例如ActiveMQ,为了提升消费能力,会将队列中的消息分发到不同Consumer并行进行处理。这意味着消息发送的时候可能是有序的,但是在消费的时候,就变成无序了。为了保证消费的有序

消息中间件的四种投递模式对比

房东的猫 提交于 2019-11-25 19:56:55
消息中间件( Message Oriented Middleware,简称MOM)在企业开发中变得越来越重要。本文介绍消息中间件中的四种消息投递模型,主要是介绍模型的核心特性,以及不同模型之前的区别。这四种模型分别是: PTP模型 Pub/Sub模型 Partition模型 Transfer模型 其中PTP模型和Pub/Sub模型在JMS规范中有定义,消息中间件ActiveMQ就实现了JMS规范。然而一些消息中间件,并没有实现JMS规范,而是自己设计出了一套模型,例如Kafka和RocketMQ就采用了Partition模型。此外业界还有一些其他的消息投递模型,例如Transfer模型,这是笔者自己起的名字。 1、PTP模型 Point-to-Point,点对点通信模型。PTP是基于队列(Queue)的,一个队列可以有多个生产者,和多个消费者。消息服务器按照收到消息的先后顺序,将消息放到队列中。队列中的每一条消息,只能由一个消费者进行消费,消费之后就会从队列中移除。 需要注意的是,尽管这里使用Queue的概念,但并不是先进入队列消息,一定会被先消费。在存在多个下游Consumer情况下,一些消息中间件,例如ActiveMQ,为了提升消费能力,会将队列中的消息分发到不同Consumer并行进行处理。这意味着消息发送的时候可能是有序的,但是在消费的时候,就变成无序了。为了保证消费的有序

消息中间件的四种投递模式对比

妖精的绣舞 提交于 2019-11-25 19:56:50
消息中间件( Message Oriented Middleware,简称MOM)在企业开发中变得越来越重要。本文介绍消息中间件中的四种消息投递模型,主要是介绍模型的核心特性,以及不同模型之前的区别。这四种模型分别是: PTP模型 Pub/Sub模型 Partition模型 Transfer模型 其中PTP模型和Pub/Sub模型在JMS规范中有定义,消息中间件ActiveMQ就实现了JMS规范。然而一些消息中间件,并没有实现JMS规范,而是自己设计出了一套模型,例如Kafka和RocketMQ就采用了Partition模型。此外业界还有一些其他的消息投递模型,例如Transfer模型,这是笔者自己起的名字。 1、PTP模型 Point-to-Point,点对点通信模型。PTP是基于队列(Queue)的,一个队列可以有多个生产者,和多个消费者。消息服务器按照收到消息的先后顺序,将消息放到队列中。队列中的每一条消息,只能由一个消费者进行消费,消费之后就会从队列中移除。 需要注意的是,尽管这里使用Queue的概念,但并不是先进入队列消息,一定会被先消费。在存在多个下游Consumer情况下,一些消息中间件,例如ActiveMQ,为了提升消费能力,会将队列中的消息分发到不同Consumer并行进行处理。这意味着消息发送的时候可能是有序的,但是在消费的时候,就变成无序了。为了保证消费的有序

Spring Cloud Stream

巧了我就是萌 提交于 2019-11-25 18:50:21
Spring Cloud Stream 是消息中间件组件,它集成了 kafka 和 rabbitmq 。Spring Cloud Stream是一个用于构建消息驱动的微服务应用程序的框架,是一个基于Spring Boot 创建的独立生产级的,使用Spring Integration提供连接到消息代理的Spring应用。 消息中间件几大应用场景 1、异步处理 比如用户在电商网站下单,下单完成后会给用户推送短信或邮件,发短信和邮件的过程就可以异步完成。因为下单付款是核心业务,发邮件和短信并不属于核心功能,并且可能耗时较长,所以针对这种业务场景可以选择先放到消息队列中,有其他服务来异步处理。 2、应用解耦: 假设公司有几个不同的系统,各系统在某些业务有联动关系,比如 A 系统完成了某些操作,需要触发 B 系统及 C 系统。如果 A 系统完成操作,主动调用 B 系统的接口或 C 系统的接口,可以完成功能,但是各个系统之间就产生了耦合。用消息中间件就可以完成解耦,当 A 系统完成操作将数据放进消息队列,B 和 C 系统去订阅消息就可以了。这样各系统只要约定好消息的格式就好了。 3、流量削峰 比如秒杀活动,一下子进来好多请求,有的服务可能承受不住瞬时高并发而崩溃,所以针对这种瞬时高并发的场景,在中间加一层消息队列,把请求先入队列,然后再把队列中的请求平滑的推送给服务,或者让服务去队列拉取。 4

消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局

你。 提交于 2019-11-25 18:48:20
本文收录于InfoQ,未经允许不得转载。 一、前言 消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等等功能,其作为分布式系统架构中的一个重要组件,有着举足轻重的地位。 目前开源的消息中间件可谓是琳琅满目,能让大家耳熟能详的就有很多,比如ActiveMQ、RabbitMQ、Kafka、RocketMQ、ZeroMQ等。不管选择其中的哪一款,都会有用的不趁手的地方,毕竟不是为你量身定制的。有些大厂在长期的使用过程中积累了一定的经验,其消息队列的使用场景也相对稳定固化,或者目前市面上的消息中间件无法满足自身需求,并且也具备足够的精力和人力而选择自研来为自己量身打造一款消息中间件。但是绝大多数公司还是不会选择重复造轮子,那么选择一款合适自己的消息中间件显得尤为重要。就算是前者,那么在自研出稳定且可靠的相关产品之前还是会经历这样一个选型过程。 在整体架构中引入消息中间件,势必要考虑很多因素,比如成本及收益问题,怎么样才能达到最优的性价比?虽然消息中间件种类繁多,但是各自都有各自的侧重点,选择合适自己、扬长避短无疑是最好的方式。如果你对此感到无所适从,本文或许可以参考一二。 二、各类消息队列简述