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

消息队列协议

什么是协议我们知道消息中间件负责数据的传递、存储和分发消费三个部分,数据的存储和分发过程是要遵循协议的,我们是采用底层的TCPIP协议还是UDP协议还是

什么是协议

在这里插入图片描述
我们知道消息中间件负责数据的传递、存储和分发消费三个部分,数据的存储和分发过程是要遵循协议的,我们是采用底层的TCP/IP协议还是UDP协议还是要自己构建,我们把这种规范称为协议


网络协议的三要素


  1. 语法。语法是用户数据与控制信息的结构和格式,以及数据出现的顺序。
  2. 语义,语义是解释控制信息每个部分的意义。他规定了需要发出何种控制信息以及完成的动作与做出的响应。
  3. 时序,时序是对事件发生顺序的详细说明。

人们形象地把这三个要素描述为:语义表示要做什么,语法表示要怎么做,时序表示做的顺序。
举个例子http协议


语法:http规定了请求报文和响应报文的格式
语义:客户端主动发起请求称为请求
时序: 一个请求对应一个响应(一定先有请求后有响应,这就是时序)


消息队列采用的协议不是http协议,常见的消息队列协议有:OpenWire,AMQP,MQTT,Kafka,OpenMessage等协议。


面试题:为什么消息中间件不直接使用Http协议
1.因为http请求报文头和响应报文头比较复杂,包含了COOKIE,数据加密解密状态码,响应码等附加的功能,但是对于一个消息而言,我们不需要这么复杂,也没有这个必要。它的主要作用就是数据的传递,存储分发就可以了,所以一定追求的是高性能。尽量简洁、快速。
2.大部分情况下http都是短链接,在实际使用中可能会中断,中断之后不能进行持久化,就会造成请求的丢失。这样不利于消息中间件的业务场景,因为消息中间件可能是一个长期的获取消息的过程,出现问题和故障就要对数据或消息进行持久化,目的是为了保障消息和数据的高可靠和稳健的运行。



推荐阅读
  • 玩转直播系列之消息模块演进(3)
    一、背景即时消息(IM)系统是直播系统重要的组成部分,一个稳定的,有容错的,灵活的,支持高并发的消息模块是影响直播系统用户体验的重要因素。IM长连接服务在直播系统有发挥着举足轻重的 ... [详细]
  • 计算机网络计算机网络分层结构
    为了解决计算机网络复杂的问题,提出了计算机网络分层结构。计算机网络分层结构主要有OSI7层参考模型,TCPIP4层参考模型两种。为什么要分层不同产商 ... [详细]
  • slmp协议和mc协议区别_TCP协议与UDP协议的区别
    TCP协议和UDP协议TCPIP协议是一个协议簇。里面包括很多协议的,UDP只是其中的一个,之所以命名为TCPIP协议,因 ... [详细]
  • springboot基于redis配置session共享项目环境配置pom.xml引入依赖application.properties配置Cookie序列化(高版本不需要)测试启 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 这个问题困扰了我两天,卸载Dr.COM客户端(我们学校上网要装这个客户端登陆服务器,以后只能在网页里输入用户名和密码了),问题解决了。问题的现象:在实验室机台式机上安装openfire和sp ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了VoLTE端到端业务详解|VoLTE用户注册流程相关的知识,希望对你有一定的参考价值。书籍来源:艾怀丽 ... [详细]
  • Ansem 最新雄文:软着陆后,加密市场下阶段趋势与核心叙事
    市场最糟糕的时候已经过去,以太坊合并前不太会看到新的低点;但仍需来自关注宏观市场的不确定风险。撰文:Ansem ... [详细]
  • IP、ARP、TCP、UDP、ICMP、DNS、路由协议、DHCP协议的缺陷,容易受到的攻击,以及防御措施1、IP协议1.1、介绍: ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
  • HTTP协议相关的网络经典五层模型
    网络通信相关概念的讲解–网络协议分层(经典五层模型)在我们了解HTTP相关内容之前我们先来了解一下“网络协议分层”相关内容,因为这个是我们了解HTTP相关内容的前提条件;大家有一 ... [详细]
  • c# java socketn 字节流_C#Socket编程详解(一)TCP与UDP简介
    一、TCP与UDP(转载)1、TCP1.1定义TCP(TransmissionControlProtocol)传输控制协议。是一种可靠的、面向连接的协议(eg:打电话)、传输效率低 ... [详细]
  • 实例详解ISA防火墙策略元素
    我们在前面的工作中已经实现了ISA2006的代理服务器功能,接下来我们要实现ISA的访问控制功能。很多公司都有控制员工访问外网的需求,例如有的公司不允许 ... [详细]
author-avatar
手机用户2502857101
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有