热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

nginx是一种消息队列中间件(消息中间件和消息队列)

1.中间件首先先来说一下消息中间件,呢么什么是中间件呢?目的就是为了将业务与底层逻辑进行分离。2.消息队列其实就是一个数据传输单位,包含创建时间、


1.中间件


首先说明消息中间件。 什么是中间件?


我的理解是,APP应用程序可以帮助其他APP应用程序、硬件、操作系统、网络、交互或通信的软件。


目的是将业务与底层逻辑分开。


属于中间件的领域还很广泛,如Redis、Zookeeper和Memcached。 实际上,对于体系结构体系内的中间件,他既没有涉及具体的业务逻辑,也没有涉及底层的硬件逻辑,而是用于用户数据的交换和管理。 和找房子/租房找中介一样,起着中介的作用。


那么为什么要使用中间件呢? 不是只要APP和服务之间直接调用就可以了吗? 也不费事


其实不然:其实不仅仅是中间件,所有的东西的出现都是为了能够在特定的领域解决问题,不同的中间件解决不同领域的问题。 例如,数据库中间件在库划分表、主从分离、web中间件在收到效果请求的过程中做额外的事情。


中间件主要是用于将业务逻辑与非业务逻辑解耦。


2.消息队列(MQ-Message Queue)


是包含创建时间、通道/主体信息的数据传输单位。


队列是高级线性规划体系(FIFO )的存储结构,它包括:


1 .顺序存储:从末尾插入数据,从开头提取数据。 数组后缀为0的一端为头,退出队伍时所有数据向前移动。 这样就有可能发生假溢出。 这有后面的循环队列。


2 .循环储存


使用队列的最常见场景是生产者/消费者模型。 生产者将消息排队,消费者从队列中接收消息。


消息队列(MQ )实现了生产者到消费者的单向通信模型,而RabbitMQ、RocketMQ、Kafka等常见MQ是实现该模型的消息中间件。


这将解决三个问题。


1 .去耦:减少服务间的耦合,由中间件负责中介。


2 )异步)用户下单时,系统需要订单生成、库存计算、发货计算等服务,但所有服务运行后返回用户信息会导致用户体验极差。 此时,可以让他异步执行发货服务,系统响应时间降低,用户体验提高。


3 .截峰:如果用户在某个时间点等访问量较大,直接添加服务器是不太现实的。 尽管如此,因为添加硬件很贵,所以此时可以将未处理的请求排队慢慢处理。 运行会慢一点,但保证系统不会崩溃。


3.消息代理


3358 www.Sina.com/message代理是一种用于验证、转换和路由消息的体系结构模型,大多数实施了中介。 实际上,它是消息中间件服务器,是中间件的核心。




消息队列遥测传输协议(mqtt )是在publish/subscribe模式硬件性能下降的远程设备和网络状况较差时设计的


4.MQTT


低功耗低带宽即时消息轻量级简单开放优点


医疗器械小型化设备智能家居通信物联网


总结:由于消息队列是一种消息中间件,所以mq大多是实现消息代理(中介)的生产者消费者单向通信模式的中间件。 消息队列主要用于缓解高并发性,其次是异步。


推荐阅读
  • RocketMQ在秒杀时的应用
    目录一、RocketMQ是什么二、broker和nameserver2.1Broker2.2NameServer三、MQ在秒杀场景下的应用3.1利用MQ进行异步操作3. ... [详细]
  • 一文了解消息中间件RabbitMQ
    消息中间件---RabbitMQ1消息中间件的作用2.常用的消息中间件3消息中间件RabbitMQ3.1RabbitMQ介绍3.3RabbitMQ的队列模式3.3RabbitMQ的 ... [详细]
  • Spring Boot + RabbitMQ 消息确认机制详解
    本文详细介绍如何在 Spring Boot 项目中使用 RabbitMQ 的消息确认机制,包括消息发送确认和消息接收确认,帮助开发者解决在实际操作中可能遇到的问题。 ... [详细]
  • 深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用
    深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用 ... [详细]
  • 修复一个 Bug 竟耗时两天?真的有那么复杂吗?
    修复一个 Bug 竟然耗费了两天时间?这背后究竟隐藏着怎样的复杂性?本文将深入探讨这个看似简单的 Bug 为何会如此棘手,从代码层面剖析问题根源,并分享解决过程中遇到的技术挑战和心得。 ... [详细]
  • 本文提供了 RabbitMQ 3.7 的快速上手指南,详细介绍了环境搭建、生产者和消费者的配置与使用。通过官方教程的指引,读者可以轻松完成初步测试和实践,快速掌握 RabbitMQ 的核心功能和基本操作。 ... [详细]
  • 深入解析队列机制及其广泛的应用场景
    本文深入探讨了队列机制的核心原理及其在多种应用场景中的广泛应用。首先,文章详细解析了队列的基本概念、操作方法及其时间复杂度。接着,通过具体实例,阐述了队列在操作系统任务调度、网络通信、事件处理等领域的实际应用。此外,文章还对比了队列与其他常见数据结构(如栈、数组和链表)的优缺点,帮助读者更好地理解和选择合适的数据结构。最后,通过具体的编程示例,进一步巩固了对队列机制的理解和应用。 ... [详细]
  • 背景最近面试面得心力交瘁,由于没有高并发架构的实际项目经验,经常是在场景设计的面试题目上面栽跟头。上次就被问到了关于秒杀系统的设计,竟无 ... [详细]
  • SpringCloud之Bus(消息总线)
    说明:关于SpringCloud系列的文章中的代码都在码云上面地址:https:gitee.comzh_0209_javaspringcloud-ali ... [详细]
  • Java高并发与多线程(二):线程的实现方式详解
    本文将深入探讨Java中线程的三种主要实现方式,包括继承Thread类、实现Runnable接口和实现Callable接口,并分析它们之间的异同及其应用场景。 ... [详细]
  • 深入解析 Synchronized 锁的升级机制及其在并发编程中的应用
    深入解析 Synchronized 锁的升级机制及其在并发编程中的应用 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 网宿科技正式宣布全面兼容最新QUIC (HTTP/3)协议标准
    网宿科技正式宣布全面兼容最新QUIC (HTTP/3)协议标准 ... [详细]
  • 字节Java高级岗:java开发cpu吃多线程吗
    前言抱着侥幸心理投了字节跳动后台JAVA开发岗,居然收到通知去面试,一面下整个人来都是懵逼的,不知道我对着面试官都说了些啥(捂脸~~)。侥幸一面居然过了,三天后接到二面通知,结果这 ... [详细]
  • 启动activemq_「Java」SpringBoot amp; ActiveMQ
    一、消息队列消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题,实现高性能、高可用、可伸缩和最终一致性架构, ... [详细]
author-avatar
王聪明2011
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有