1-消息队列简介

  1. 消息队列的两种模式

1.1 点对点的模式

1.2 订阅者和发布者的模式

2.消息队列的中的问题:

topic和queue的关系

一个topic(话题消息)中有多个queue(队列)  一个队列中有多个messages

broker  相当于网络中的交换机

3.消息队列解决的问题

1. 一个message 被消费者消费会不会重复消费

曰:不会重复消费,一个消费者接收了一个message,这个message在消息队列中就会被锁定

一段时间这个消费者没有处理的话,message在消息队列中自动被解锁,另外一个消费者

会接着消费。消费者的本质就是一个进程。

2.MQ多采用put-get-delete模式,即,仅当确认message被完成处理之后,才从MQ中移除message

3.异步通信:很多场景下,不会立即处理消息,这是,可以在MQ中存储message,并在某一时刻再进行处理

4.推拉介绍:

①Push方式:由消息中间件主动地将消息推送给消费者;

②Pull方式:由消费者主动向消息中间件拉取消息

5.集中消息对列的对比

1.rabbitmq

不做评论

2.activemq

不做评论

3.kafka

主要用于日志的收集,不支持事务,Pull的模式来处理消息消费,追求高吞吐量。(拉的模型)

4.redis

很少用于消息队列,主要用户session,共享,基本的数据存储

时间: 2024-10-25 09:33:45

1-消息队列简介的相关文章

消息队列简介

一.概述 计算机科学中,消息队列和邮箱是用于进程间或者线程与同一进行间通讯的软件工程组件.他们都是消息传传输控制队列. 消息队列是发布/订阅模型的变种,是较大的面向消息的中间件的一部分.多数消息系统支持发布/订阅和消息队列模型的API,如JMS(Java Message Service). 消息队列提供异步的通讯协议,这就意味着消息发送者和消息接收者不需要在同一时间与消息队列交互.消息入队直到接收者来读取.消息队列都有单条消息大小的限制,入队消息的数目也有限制. 消息队列的主要应用是在不同计算机

ActiveMQ消息队列-简介

一.ActiveMQ是什么 ActiveMQ是一个消息中间件(Message-oriented middleware,MOM),实现JMS1.1规范,支持J2EE1.4以上,支持多种语言客户端(java,C,C++,AJAX等等),支持多种协议(http,https,ip多重广播,ssl协议,stomp协议,tcp协议,udp协议等)以及良好的spring支持. 二.ActiveMQ与RPC比较 1.都能实现系统之间解耦: 2.RPC是同步通信,ActiveMQ默认是异步通信,当然它也可支持同步

进程-IPC 共享内存和消息队列 (三)

详见:https://github.com/ZhangzheBJUT/linux/blob/master/IPC(%E4%B8%89).md 五 共享内存 5.1. 共享内存简介 共享内存指多个进程共享同一块物理内存,它只能用于同一台机器上的两个进程之间的通信.在进程的逻辑地址空间中有一段地址范围是用来进行内存映射使用的,该段逻辑地址空间可以映射到共享的物理内存地址上(进程空间介绍:http://blog.csdn.net/zhangzhebjut/article/details/3906025

消息队列概念与认知

本文是-消息队列学习的概念与介绍篇.目的是能够对消息队列能够有一个简单的了解和大体的认知. 参考/学习资料整理(好东西要学会分享 ) B站上的黑马ActiveMQ的视频教程 Hollis公众号上的消息队列文章 架构之家公众号上的消息队列文章 JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识的文档类项目) CS-Notes(技术面试必备基础知识) JCSprout(处于萌芽阶段的 Java 核心知识库) 一个在线绘图的工具 一.消息队列简介 消息队列 MQ(message qu

kafka分布式消息队列介绍以及集群安装

简介 首先简单说下对kafka的理解: 1.kafka是一个分布式的消息缓存系统: 2.kafka集群中的服务器节点都被称作broker 3.kafka的客户端分为:一是producer(消息生产者)负责往消息队列中放入消息:另一类是consumer(消息消费者)负责从消息队列中取消息.客户端和服务器之间的通信采用tcp协议 4.kafka中不同业务系统的消息可以通过topic(主题)进行区分,也就是说一个主题就是一个消息队列,而且每一个消息topic都会被分区,以分担消息读写的负载 5.par

进程间通信——消息队列

1.消息队列的简介 消息队列就是在进程之间架设起通信的通道,信息在通道中传递(具有时间先后的),从宏观逻辑上来讲与管道是一致的.即就是消息队列也同样是:(1).具有入口和出口:(2).消息从入口到出口,是FIFO的:(3).所以消息在其中是队列的存储形式. 消息队列与管道不同的地方在于:管道中的数据并没有分割为一个一个的数据独立单位,在字节流上是连续的.然而,消息队列却将数据分成了一个一个独立的数据单位,每一个数据单位被称为消息体.每一个消息体都是固定大小的存储块儿,在字节流上是不连续的. 2.

PetShop 4.0学习笔记:消息队列MSMQ

直到今天才知道,在我们每天都在用的Window系统里还有这么好用的一个编程组件:消息队列.它能够解决在大数据量交换的情况下的性能问题,特别是BS系统的数据库性能.而且它的异步处理方式能给程序员最大的便利与最好的用户体验. 1.首先在需要进行消息队列的服务器上安装MSMQ,我的系统是win2003+iis6,所以这个安装选项在添加删除程序->windows组件->应用程序服务器内.默认是不安装的,需要手动选择. 2.建立消息队列的存放路径.这可以在windows的计算机管理内添加,也可以在程序中

消息队列 Kafka 的基本知识及 .NET Core 客户端

前言 最新项目中要用到消息队列来做消息的传输,之所以选着 Kafka 是因为要配合其他 java 项目中,所以就对 Kafka 了解了一下,也算是做个笔记吧. 本篇不谈论 Kafka 和其他的一些消息队列的区别,包括性能及其使用方式. 简介 Kafka 是一个实现了分布式的.具有分区.以及复制的日志的一个服务.它通过一套独特的设计提供了消息系统中间件的功能.它是一种发布订阅功能的消息系统. 一些名词 如果要使用 Kafka ,那么在 Kafka 中有一些名词需要知道,文本不讨论这些名词是否在其他

python之消息队列

引言 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题.消息服务擅长于解决多系统.异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC).本文将要介绍的RabbitMQ就是当前最主流的消息中间件之一. RabbitMQ简介 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源

去哪儿网可用 消息队列

<去哪儿网技术专场>之 主题一:<去哪儿网可用 高性能 消息队列> 简介: 消息队列一般应用在广播通知.异步操作.数据复制. 为什么我们不用开源的消息队列? 我们开发的消息队列如何实现 “高可用”? 我们开发的消息队列如何实现 “高性能”?