四大MQ中间件区别

      最后更新:2022-06-01 23:25:39 手机定位技术交流文章

      24b842f8dd0a4fb58bdbfd2ec4ca457a.jpg一、知识背景情况的类型

      1、概述

      在公司信息技术系统中,信息排队迅速成为基本通信手段。它履行各种职责,包括低连接、可靠传送、广播、交通管制和最终一致性。它是在道歉的RPC中最重要的工具之一。今天的市场充斥着主流新闻。兔子,就像老的活性MQ,卡夫卡烧焦了Ali Baba自己创造了RocketMQ和其他产品。

      2. 信息信息构成

      2.1 Broker

      作为服务器,信息服务器将提供基本信息服务。

      2.2 Producer

      信息生产商、业务发起人和负责为经纪人创建通信的人

      2.3 Consumer

      信息消费者、商业经营人、负责从经纪人收集信息并按商业逻辑行事的消费者、商业经营人

      2.4 Topic

      主题、以订阅方式统一收集信息、不同制作人向主题提供的信息、由MQ服务器向不同订阅者传播的MQ服务器向不同订阅者传播的信息,以及信息广播

      2.5 Queue

      PTP 模式队列、 特定制作者将信件发送到特定队列, 以及消费者订阅指定队列以完成已定义信件的接收

      2.6 Message

      信息正文,数据捆绑,按照各种通信协议规定的固定格式编码,以确保公司数据的安全,并允许信息发送。

      3 信息中位模式分类

      3.1 点对点

      PTP Point Dialog 使用队列作为 PTP 点对话框中的通信频道
      getImage?fileId=5ad56d7cab64411333000bb0
      说明:
      制片人发送的信件排队排队, 消费者从排队中检索和消耗信息 。
      当新闻被吃掉时,它不再保存在队列中,使得消费者无法消费以前被摄取的信息。 许多消费者可以在队列中生存,但只有一个消费者可以消费一个信息。

      3.2 发布/订阅

      Pub/Sub-Sub-Sub-Sub-Sub-Sub-Sub-Sub-Sub-Sub-Sub订阅(辐射):使用一个主体作为通信承运人。
      getImage?fileId=5ad56d8bab6441153c000ab3
      说明:
      与点对点技术相反,所有订户都接受给主题的信息。

      将生产者生产信息传送给一些消费者所消费的新闻队列,以平衡工作量,但是,每个信息只能由一位消费者接收,如果没有消费者,则保留信息直到消费者出现。
      专题完成分发和订阅,在发送信息时,发给所有专题订阅者,使1至N的所有订阅者都能得到一份。

      4 " 中程信息 " 的效益

      4.1 系统解耦

      由于互动系统之间没有直接的呼叫联系,而是通过电文传输,因此这些系统不那么具有侵扰性,联系最少。

      4.2 系统响应时间延长

      例如,考虑最初的一套推理。完成付款可能需要改变订单状况、计算会员入计量、通知各种逻辑的后勤分配以及设计最高质量结构。如果您愿意,您可以将紧急业务(需要即时响应的紧急业务)使用该呼叫方法。对信息队列利用率低的反应受到限制。放到MQ队列中,供消费者处理。

      四.3 大规模数据处理建筑服务

      在通过信息进行大量数据整合的背景下,信息排队还与实时处理结构相联系,为数据处理提供业绩援助。

      JMS(贾瓦新闻社)

      JavaMessage Service(JMS)应用界面是一个Java平台API,用于在应用程序之间或在分布式系统中发送信息,以及用于非同步通信。
      JMS有两种信息模式:P2P和Pub/Sub。订阅和排队(公布/订阅)JMS是第一个定义“专题”一词的人。这两种模式之间的关键区别或问题在于是否可以消耗挂在队列上的信息(多订阅)。

      5 中心的申请方案

      5.1 异步通信

      某些操作不想要或需要即时处理信息。 信件队列提供了一个逐步处理系统, 允许用户在队列中放置信件, 但不会立即处理。 在队列中尽可能多地输入信息, 并在需要时处理 。

      5.2 解耦

      这是过去几年中完成的第一个项目。Isomer 系统安装在项目的早期阶段,预计该项目将满足今后的需求。是极其困难的。在整个处理过程中,通过电文系统注入了隐含的数据界面层。必须在该进程的双方实现这种互动。当应用发生变化时,双方可以独立地扩大或修改这一程序。确保他们遵守相同的接口要求。

      5.3 冗余

      有些情况下,数据处理程序失败 。除非数据被持久化,否则将造成丢失。信件队列将要处理的数据排成队列,直到它完成为止。这就消除了数据丢失的可能性。队列中的多个消息使用“插入- 获取- 删除” 模式 。删除队列中的信件前,您的处理系统需要表明信息已经处理完毕。并且确保您的数据在您不再使用之前被仔细存储。

      5.4 扩展性

      因为信件排队了您的进程, 只要程序增加, 提高信件输入和处理的频率非常简单 。 没有必要更新代码或调整设置 。

      5.5 过载保护

      在访客人数大幅增加的情况下,申请必须继续符合其宗旨。然而,这种突然流动是无法预测的;根据能够处理这种即时高峰访问的标准,将资源置于待命状态必然是巨大的浪费。电文排队使关键部件得以在意外进入压力下幸存。而不是因为突然超额请求而崩溃。

      5.6 可恢复性

      当系统的一个部件失败时,整个系统不受影响。信息队列将消除两个进程之间的连接,因此,即使一个信息处理程序终止,在系统恢复后,可以处理添加到队列中的信息。

      5.7 顺序保证

      数据处理的顺序在大多数使用数据处理的情景中都很重要,大多数通信是内在分类的,确保按具体顺序处理数据。

      5.8 缓冲

      每个主要系统中都有需要不同处理时间的方面。 信息队列通过一个缓冲层帮助特派团实现最佳效率,缓冲层有助于管理和优化数据通过系统流动的速度,改变系统的反应时间。

      5.9 数据流处理

      由分布式系统(如商业日志、监测数据、用户行为等)创造的大规模数据流以实时或大宗方式收集,然后是大数据分析,这是当今互联网的重要技术,信息排队是最好的替代方法。

      6 《中间人议定书》

      AMQP 议定书6.1

      AMQP, 即高级信息排队协议, 即高级信息排队协议, 是为中间信息导向设备创建的应用级协议的开放式标准。 这是一个提供统一信息服务的高级别信息排队协议 。根据这种安排,客户和信息的中间可以发出信息。它不是有别于客户/媒体的产品。对诸如发展语言等情况的限制。
      优点:可靠、通用

      MQTT 议定书6.2

      MQTT(Message Queuing Telemetry Transport,IBM为传送遥测信息制定了即时通讯协议。这可能是一个关键的组成部分 在一个东西的网络。协定涵盖所有平台。几乎可以将所有在线产品与外部世界连接起来。使用Twitter连接房屋。
      效益包括格式简单、带宽使用率最低、移动终端通信、统一和卫生政策以及嵌入系统。

      STOMP 第6号协议

      STOMP是一个基于文本的短信协议。这是MOM的一个例子(Message Oridgeed Middleware)。设计了一个简单的文本协议。STOMP 提供了一个可互操作的连接格式 。客户可以与任何STOMP信息代理(Broker)联系。
      好处:指挥模式(非专题队列模式)。

      第六,XMP议定书

      XMPP(可扩展通信和存在议定书)《XML协议》是《可扩展通信和存在议定书》的基础。最经常用于即时信息(IM)和在线现场探测。它适用于服务器之间的实时活动。核心是围绕XML流建造的。该协议可能允许互联网用户今后在互联网上向任何其他人发送即时信息。即使它们的操作系统和浏览器各不相同。
      好处包括普遍开放、高度兼容、可缩放和高度安全;然而,XML编码格式消耗带宽。

      其他自定义的TCP/IPP协议

      某些独特的框架(如Redis、kafka、0Mq等)没有按照自己的要求严格遵守MQ准则。 相反,基于TCPIP的自成一体的TCPIP在网络套接字界面上安装了一套协议,通过网络套接字接口传送,以达到MQ能力。

      7 共同信息中间中枢概览

      7.1 RocketMQ

      Ali正处于开放源码、分布式、排队模式的中间。原名Metaq,三. 读火箭MQ,第0版Ali使用 java 作为使用一组mqs的 kafka 设计的参考框架。此外,Ali是一种系统整合的内部多兆克产品(通知、Metaq)。只维护核心功能,我不知道我该怎么办, 但我还是会做它。确保关键任务尽可能高效,在此基础上,目前正在与上述其他开放源产品合作,在各种情况下实施混合产品结构。现有的应用大多在订单交易制度中。

      具有以下特点:

      • 它确保准确的信息序列。
      • 信件过滤可用 。
      • 提供强有力的新闻提取机制。
      • 有效的订户级扩展能力
      • 实时的消息订阅机制
      • 亿级消息堆积能力

      在形式上,对卡夫卡作了某些区分:
      https://rocketmq.apache.org/docs/motivation/

      7.2 RabbitMQ

      另一方面,不可能利用以Erlang为基础的开放源信息团队。AMQP是得到支持的协定之一。XMPP, SMTP,STOMP,也正是如此,把它弄得非常难看更适合企业一级的发展。同时,我们完成了 " 经纪人结构 " 。基本概念是制作人不会直接将信息传送到队列。信息传送到客户端后,中心排队排队。运行。数据可持续性和负载平衡(成本平衡)得到充分支持。更多地介绍ESB在公司一级的一体化情况。

      7.3 ActiveMQ

      阿帕契亚项目1. 4项规范的JMS提供者的实施得到爪哇的完全支持。先进应用软件可通过数量有限的方案得到高效实施。对不起,但我不知道我在说什么, 但我不知道我在说什么。例如,VM、TCP、SSL、NIO、UDP、多播、JGroups和JXTA等运输方式就是例子。RabbitMQ、ZeroMQ和PenternMQ都支持多语种客户,如C++、Java等。 Net、Python、PHP、Ruby等。

      7.4 Redis

      互联网上有一个以C语言格式设计的用于Key-Value的NOSQL数据库。开发维护很活跃,这不是一个好主意, 即使它是一个Key -Value数据库存储系统。不过,它确实支持MQ职能。因此,将它用作轻量级排队服务是绝对可行的。为了使Rabbit MQ和Redis能够加入并参与小组的工作,各执行100万次,每10万次记录执行时间。测试数据分为四个大小:128字节、512字节、1千字节和10千字节。实验表明:入队时,如果将数据与Redis作比较,RabitMQ的性能优于Redis。如果数据超过10,00,Redis行动迟缓,令人恼火;当他离开小队时,无论数据大小,Redis干的不错在团队业绩方面,Redis 表现优于RabbitMQ。

      7.5 Kafka

      以下是由Scala完成的一个使用高性能分布式出版/订阅信息排队系统的阿帕奇子项目的特征:

      • (a) 快速可持续性:使用磁盘序列读、写和零复制技术,以O(1)系统的费用维持信息。
      • (a) 呕吐率高:在普通服务器上,呕吐率可能达到每秒10瓦。
      • (a) 高度积累:在主题下对客户的离线支持时间较长,通信量大;
      • 经纪人、制片人和消费者都是有利于原产地的自动分销,依靠动物猎犬自动建立复杂的平衡。
      • 支持平行加载Hadop数据:这是与Hadop相同的日志数据和离线分析系统的一个适当选择,但需要实时处理。

      7.6 ZeroMQ

      它被称为最快速的新闻排队机制。该项目的目标是创造高流量/低延迟情景。它经常用于金融应用程序重点是实时数据交换的设想。ZMQ可到达 RabitMQ 的先进/复杂队列。因此,开发商必须结合自己的技术框架。开发成本高。因此,零MQ有一个独特的非中间模式。它更像一个插座图书馆。您不需要安装或运行信件服务器或中介 。因为您的申请是使用零MQ API的逻辑服务的一部分。然而,零MQ只支持非持久性队列。如果down机,数据将会丢失。例如在Twitter上, " 风暴 " 利用零MQ传输数据流。

      零MQ插座与传输层无关:它们为所有传输层协议建立一个一致的 API 接口。默认支持程序( 程序),程序间通信(IPC),多播,TCP协议,正在更改连接字符串的前缀, 允许您在协议之间切换 。任何时候,流程之间的当地通信都可转换为低成本的分布式TCP通信。零MQ处理幕后连接的形成断开和重连逻辑。

      特性:

      • 内陆队列模式:跨行数据交换渠道(用户端和会话)使用解锁的队列算法CAS;在管道两端记录对抗事件,在读或写给管道的信息时自动触发读和写活动。
      • 批量处理算法:采用适应性优化,分批接收和传送信息,分批发送信息。
      • 多核线条在不切换CPU的情况下被捆绑起来:它们不同于标准的多两次共同航线模式、信号水平或关键区域,零MQ充分利用了在每一个内核操作工人线条的多核心利益,消除了CPU在若干路线之间的转换成本。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/26670.html

          热门文章

          文章分类