使用MQ的三大作用:
1、同步变异步
2、流量削峰
3、解耦降低服务间的耦合性
要不要使用MQ,需不需要使用MQ依据项目的需要做选择。

使用场景:

例如:
注册用户时候,发送激活邮件。
监控应用中抛出的异常,邮件通知管理员。也就是增加监控功能,且一个消息服务可以监控无数个应用。
异构型架构系统间的各服务通信,因为消息服务于平台或者语言无关,典型的应用在 SOA 分布式体系的各个服务之间,可以做到,我依赖你,但是我可以不在乎你是否在运行,的关系。
例如,微信的抢红包,淘宝的订单,铁道部的购票等,如果不丢给队列排队处理,突然性的高并发会有让应用或者数据库瘫痪的风险。

rabbitmq中文文档(php版):https://xiaoxiami.gitbook.io/rabbitmq_into_chinese_php/学习链接:

rabbitmq从入门到放弃:https://xueyuanjun.com/books/rabbitmq

laravel中使用mq:https://www.cnblogs.com/sweetsunnyflower/p/10186626.html

学习中遇到的问题:https://www.cnblogs.com/kala00k/p/11350118.html

rabbitmq的基本使用的更多相关文章

  1. 消息队列——RabbitMQ学习笔记

    消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...

  2. RabbitMq应用二

    在应用一中,基本的消息队列使用已经完成了,在实际项目中,一定会出现各种各样的需求和问题,rabbitmq内置的很多强大机制和功能会帮助我们解决很多的问题,下面就一个一个的一起学习一下. 消息响应机制 ...

  3. 如何优雅的使用RabbitMQ

    RabbitMQ无疑是目前最流行的消息队列之一,对各种语言环境的支持也很丰富,作为一个.NET developer有必要学习和了解这一工具.消息队列的使用场景大概有3种: 1.系统集成,分布式系统的设 ...

  4. RabbitMq应用一的补充(RabbitMQ的应用场景)

    直接进入正题. 一.异步处理 场景:发送手机验证码,邮件 传统古老处理方式如下图 这个流程,全部在主线程完成,注册->入库->发送邮件->发送短信,由于都在主线程,所以要等待每一步完 ...

  5. RabbitMq应用一

    RabbitMq应用一 RabbitMQ的具体概念,百度百科一下,我这里说一下我的理解,如果有少或者不对的地方,欢迎纠正和补充. 一个项目架构,小的时候,一般都是传统的单一网站系统,或者项目,三层架构 ...

  6. 缓存、队列(Memcached、redis、RabbitMQ)

    本章内容: Memcached 简介.安装.使用 Python 操作 Memcached 天生支持集群 redis 简介.安装.使用.实例 Python 操作 Redis String.Hash.Li ...

  7. 消息队列性能对比——ActiveMQ、RabbitMQ与ZeroMQ(译文)

    Dissecting Message Queues 概述: 我花了一些时间解剖各种库执行分布式消息.在这个分析中,我看了几个不同的方面,包括API特性,易于部署和维护,以及性能质量..消息队列已经被分 ...

  8. windows下 安装 rabbitMQ 及操作常用命令

    rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rab ...

  9. RabbitMQ + PHP (三)案例演示

    今天用一个简单的案例来实现 RabbitMQ + PHP 这个消息队列的运行机制. 主要分为两个部分: 第一:发送者(publisher) 第二:消费者(consumer) (一)生产者 (创建一个r ...

  10. RabbitMQ + PHP (二)AMQP拓展安装

    上篇说到了 RabbitMQ 的安装. 这次要在讲案例之前,需要安装PHP的AMQP扩展.不然可能会报以下两个错误. 1.Fatal error: Class 'AMQPConnection' not ...

随机推荐

  1. 2024年1月Java项目开发指南14:关于post中的body和param以及java中的@RequestBody和@RequestParam

    在HTTP请求中,POST方法通常用于向服务器发送数据,这些数据可以在请求的body中,也可以在URL的param中.不过,这两者的使用方式和适用场景是不同的. Body:在POST请求中,body主 ...

  2. 在openEuler RISC-V上无痛部署Solidity

    近几年区块链很火,随着各国政府对加密技术的监管政策不断变化和BTC的暴涨,越来越多人对这项去中心化的技术充满着期待.这次我用openEuler 24.09 RISC-V的远程机器尝试编译了Solidi ...

  3. JS操作iframe父级子级元素,jquery自动点击iframe里按钮

    在父窗口中操作 选中iframe中的id $(window.frames["ifm"].document).find("#id").attr("val ...

  4. 基于C#实现串口通信Demo

    原文链接:基于C#实现串口通信Demo

  5. vmstorage如何将原始指标转换为有组织的历史

    vmstorage如何将原始指标转换为有组织的历史 参考自:vmstorage-how-it-handles-data-ingestion vmstorage是VictoriaMetrics中负责处理 ...

  6. conda创建label标注环境

    conda create -n label python=3.6 conda activate label pip install labeimg -i https://pypi.tuna.tsing ...

  7. 控制反转(Inversion of Control,IoC)

    依赖注入(Dependency Injection,DI)和控制反转(Inversion of Control,IoC)是软件工程中两个相关但不同的概念.它们都旨在提高代码的模块化.可维护性和可测试性 ...

  8. w3cschool-Python3 高级教程

    https://www.w3cschool.cn/python3/python3-reg-expressions.html Python3 正则表达式 re.match 函数 re.match 尝试从 ...

  9. Python生成成绩报告单:从理论到实践

    在教育信息化日益普及的今天,自动化生成和处理学生成绩报告单已成为学校和教育机构的一项重要任务.Python作为一种功能强大且易于学习的编程语言,非常适合用于这种数据处理和报告生成任务.本文将详细介绍如 ...

  10. MongoDB 常用指令(详细)

    # MongoDB 常用指令## 基础命令### 启动与连接```bash# 启动 MongoDB 服务mongod# 连接 MongoDB 客户端mongo```### 数据库操作```bash# ...