消息系统

时间:2021-07-19
本文章向大家介绍消息系统,主要包括消息系统使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

消息系统和流系统

直接调用通常是用于诸如远程过程调用的技术
消息系统有很多,包括 
  Apache的 ActiveMQ RabbitMQ 
  Apache的 Kafka  pulsar
  Redis

场景:

 异步通信 解耦  冗余  缓冲  顺序保证
 扩展性  可恢复性  过载保护

协议:

 Advanced Message Queuing Protocol
    AMQP 一个提供统一消息服务的应用层标准高级消息队列协议,
	      是应用层协议的一个开放标准,为面向消息的中间件设计
	基于此协议的客户端与消息中间件可传递消息,
	    并不受客户端/中间件不同产品,不同的开发语言等条件的限制
MQTT协议
     MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议
STOMP(Streaming Text Orientated Message Protocol)是流文本定向消息协议,
   是一种为MOM(Message Oriented Middleware,面向消息的中间件)设计的简单文本协议。
XMPP(可扩展消息处理现场协议,Extensible Messaging and Presence Protocol)是基于可扩展标记语言(XML)的协议,
   多用于即时消息(IM)以及在线现场探测
其他基于TCP/IP自定义的协议
   有些特殊框架(如:redis、kafka、zeroMq等)根据自身需要未严格遵循MQ规范,
   而是基于TCP\IP自行封装了一套协议,通过网络socket接口进行传输,实现了MQ的功能

开发:

RabbitMQ 服务器是用Erlang语言编写的
ActiveMQ 是一个纯Java程序	
充分定义网络协议和消息代理服务的功能语义

消息交换的体系结构:

 存储转发	    多个消息发送者, 单个消息接收者
 分布式事务	    多个消息发送者, 多个消息接收者
 发布订阅	    多个消息发送者, 多个消息接收者
 基于内容的路由 多个消息发送者, 多个消息接收者
 文件传输队列	多个消息发送者, 多个消息接收者
 点对点连接		单个消息发送者, 单个消息接收者

原文地址:https://www.cnblogs.com/ytwang/p/15029621.html