消息中间件负责数据的传递、存储,和分发消费三个部分,数据存储和分发的过程中肯定要遵循某种约定成俗的规范,你是采用底层的TCP/IP、UDP协议还是其他的自己构建等,而这些约定成俗的规范就称之为:协议。
所谓协议是指
1:计算机底层操作系统和应用程序通讯时共同遵守的一组约定 ,只有遵循共同的约定和规范,系统和底层系统才能相互交流。
2:和一般网络应用程序的不同它主要负责数据的接收和传递,所以性能比较的高
3:协议对数据格式和计算机之间交换数据都必须严格遵守规范
1.语法:语法是用户数据与控制信息的结构与格式,以及数据出现的顺序
2.语义:语义时解释控制信息每个部分的意义,它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应。
3.时序:时序是对事件发生顺序的详细说明
比如:MQ发送一个信息,是以什么数据格式发送到队列中,然后每个部分的含义是什么,发送完毕以后的执行的动作,以及消费者消费消息的动作,消费完毕的响应结果和反馈是什么,然后按照对应的执行顺序进行处理。
举个栗子:HTTP协议
AMQP,即Advanced Message Queuing Protocol,是高级消息队列协议。由摩根大通集团联合其他公司共同设计。是一个提供——消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端 /中间件不同产品,不同的开发语言等条件的限制。
Erlang中的实现由RabbitMQ等
特性:
MQTT:(Message Queuing Telemetry Transport)消息队列是IBM开放的一个即时通讯协议,物联网系统架构中的重要组成部分。
特点
应用场景
支持者:
是近几年由阿里、雅虎和滴滴出行、Stremalio等公司共同参与创立的分布式消息中间件、流处理等领域的应用开发标准。
特点
Kafka协议是基于TCP/IP的二进制协议。消息内部是通过长度来分割,由一些基本数据类型组成。
特点是
协议:实在TCP/IP协议基础之上构建的一种约定成俗的规范和机制、他的主要目的可以让客户端(应用)进行沟通和通讯。并且在这种写一下必须持有持久性、高可用、高可靠的性能。
我是本期小编⚪⚪
遇到Bug需要帮助,
欢迎加wx:
xmzl1988
备注"csdn博客“
温馨提示此为有偿服务;