1.MQ 消息队列(Message Queue,简称MQ)——应用程序和应用程序之间的通信方法 应用:不同进程Process/线程Thread之间通信 比较流行的中间件: ActiveMQ RabbitMQ(非常重量级,更适合于企业级的开发) Kafka(高吞吐量的分布式发布订阅消息系统) RocketMQ 在高并发.可靠性.成熟度等方面,RabbitMQ是首选 Kafka的性能(吞吐量.TPS)比RabbitMq要高出来很多,但Kafka主要定位在日志方面,如果业务方面还是建议选择Rabbit…
一.linux下安装rabbitmq 1.安装erlang环境 wget http://erlang.org/download/otp_src_18.2.1.tar.gz tar xvfz otp_src_18.2.1.tar.gz cd otp_src_18.2.1 ./configure make install 2.安装RabbitMQ wget http://www.rabbitmq.com/releases/rabbitmq-server/vx.x.x/rabbitmq-server-…
一.消息中间件的应用场景 异步处理 场景:用户注册,信息写入数据库后,需要给用户发送注册成功的邮件,再发送注册成功的邮件. 1.同步调用:注册成功后,顺序执行发送邮件方法,发送短信方法,最后响应用户 2.并行调用:注册成功后,用多线程的方式并发执行发邮件和发短信方法,最后响应用户 3.消息队列:注册成功后,将要发送的消息用很短的时间写入消息队列中,之后响应用户:发送邮件的服务和发送短息的服务就可以从消息队列中异步读去,然后发送任务. 应用解耦 场景:购物下单后,调用库存系统,更新库存. 1.耦合…
转自:https://www.cnblogs.com/s648667069/p/6401463.html 基本概念 RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现.如果不熟悉AMQP,直接看RabbitMQ的文档会比较困难.不过它也只有几个关键概念,这里简单介绍. RabbitMQ的结构图如下: 几个概念说明: Broker:简单来说就是消息队列服务器实体. Exchange:消息交换机,它指定消息按什么规则,路由到哪个…
在上一篇随笔中我们认识并安装了RabbitMQ,接下来我们来看下怎么在Spring Boot 应用中整合RabbitMQ. 先给出最终目录结构: 搭建步骤如下: 新建maven工程amqp 修改pom文件,引入spring-boot-starter-amqp和spring-boot-starter-test <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20…
本文主要讲述的是个人参考官网及其他前辈博客,对RabbitMQ的一些理解与spring整个RabbitMQ. 一.RabbitMQ的介绍 1.1.什么是RabbitMQ RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现,官网地址http://www.rabbitmq.com 1.2.什么是AMQP AMQP就是一个协议,是一个高级抽象层消息通信协议. 虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SO…
1. 前言 RabbitMQ 是一个消息队列,说到消息队列,大家可能多多少少有听过,它主要的功能是用来实现应用服务的异步与解耦,同时也能起到削峰填谷.消息分发的作用. 消息队列在比较主要的一个作用是用来做应用服务的解耦,消息从消息的生产者传递到消息队列,消费者从消息队列中获取消息并进行消费,生产者不需要管是谁在消费消息,消费者也无需关注消息是由谁来生产的.在分布式的系统中,消息队列也会被用在其他地方,比如分布式事务的支持,代表如阿里开源的 RocketMQ . 当然,我们本篇文章的主角还是 Ra…
交换机 交换机属性: Name:交换机名称 Type:交换机类型 direct.topic.fanout.headers Durability:是否需要持久化,true为持久化 Auto Delete:当最后一个绑定到Exchange上的队列删除后,自动删除该Exchange Internal:当前Exchange是否用于RabbitMQ内部使用,默认为False Arguments:扩展参数,用于扩展AMQP协议,定制化使用 直流交换机 直连交换机Direct Exchange(完全匹配路由k…
1.MQ简介 MQ 全称为 Message Queue,是在消息的传输过程中保存消息的容器.多用于分布式系统 之间进行通信. 2.为什么要用 MQ 1.流量消峰 没使用MQ 使用了MQ 2.应用解耦 3.异步处理 没使用MQ 使用了MQ 3.常见的MQ对比 先学习RabbitMQ,后面可以再学学RocketMQ和Kafka 4.RabbitMQ的安装(linux:centos7环境,我使用的是docker容器进行安装的,也可以使用其他方式 >>>> 非docker方式安装Rabbi…
文章目录 一. 项目结构说明 二.关键依赖 三.公共模块(rabbitmq-common) 四.服务消费者(rabbitmq-consumer) 4.1 消息消费者配置 4.2 使用注解@RabbitListener和@RabbitHandler创建消息监听者 五. 消息生产者(rabbitmq-producer) 5.1 消息生产者配置 5.2 创建消息生产者 5.3 以单元测试的方式发送消息 六.项目构建的说明 源码Gitub地址:https://github.com/heibaiying/…