各个模块或系统基于消息彼此联系起来,这种异步的通讯方式能够应用以一种松耦合的方式组合起来,并且让这种通讯更加可靠,因为两个系统可以不是同时运行的,但消息以一种可存储的方式存储。消息组建负责将数据从一个应用传递到另一个应用,所以应用程序可以只关注它要共享的数据,而不是如何去共享。
基本概念:
消息包含了一些基本的概念,只有理解了这些细节才能知道如何去使用。
通道(Channel):基于消息的应用通过消息通道来传输数据,这个通道将发送者和接收者连接起来。一个新的消息系统开始没有任何管道,需要根据需要通讯的应用来创建通道。
消息(Message): 一个消息是在通道中传递的一个原子的包。一个应用程序可以将数据分成一个或者多个包,将每一个包包装成消息,然后在通道中发送,同样,一个接收者接受到消息,需要将从消息中提取相应的数据然后进行处理。消息系统会不断重复的尝试发送消息直到成功。
管道和过滤器(Pipe and Filter):在最简单的例子中,一个消息系统将消息直接从发送着的计算机上传送接收者的计算机上。但是通常在消息从发送者发出之后和接收者收到之前会做一些处理,比如由于发送者的数据格式和接受者的格式不同,消息需要被验证并转换。基于管道和过滤器的架构描述了多个处理步骤可以通过通道链接起来。
路由(Routing):在一个大的系统中,各种应用通过通道连接起来,一个消息可能通过多个通道并到达目的地。由于消息路由的复杂性,最初的发送着可能不知道通过哪些管道将消息流向接收者。所以出现了消息路由器,发送者只需要将消息发送给消息路由器即可,消息路由器决定怎么从管道的拓扑结构中找到通往最终接受这个得路径,或者至少是下一个消息路由器。
转换(Transformation):各种应用使用同一概念数据的不同格式,发送是一种格式,而接收者期望的是另一种格式,要解决这个问题,需要在一个中间的过滤器,一个消息的转换者,将一种格式转换成另一种格式。
Endpoint:很多程序并没有内建和消息系统的兼容接口。需要有一层代码它既知道应用的工作方式又知道消息系统的工作方式,以胶水的方式将它们联系起来,这层胶水代码被称为Message Endpoints,它能够让应用程序发送和接受消息。
分享到:
相关推荐
基于层次消息总线的体系结构,在软件体系结构中,是一种很有趣的体系结构
基于微服务架构实现的智能招聘系统 ( 可用于毕业设计 ) 部署方式 docker部署:mvn docker:build & java -jar 物理机部署:mvn install & java -jar 技术栈 Spring-Boot Spring-Cloud Spring-Cloud-Gateway Spring-...
基于消息与.NET_Remoting的分布式架构.pdf
50多页超详细,ActiveMQ消息总线设计方案,包含各种消息队列技术对比
Java开发基于微服务架构的前后端分离的博客系统源码。 特点:采用微服务架构开发,友好的代码结构及注释,便于阅读及二次开发 各服务所使用的数据库完全分离,且不相互调用 前后端分离,通过 Json 进行数据交互,...
内容概要:通过带着读者基于SpringCloud框架实现企业在线培训平台,将平台的应用服务 设计为以培训服务、微信服务、论坛服务为主,消息中心,数据检索,决策引 擎和文件服务为辅的结构体系。注重业务系统向分布式...
运行方法: <br>1、首先修改hibernate.cfg.xml文件,将其中的数据库连接,用户名,密码等修改为正确的数据 2、创建数据库表(启动Tomcat可自动创建) 3、插入初始化的用户(运行init_...测试消息的发送和接收
基于微服务架构实现的智能招聘系统(用于毕业设计)。 技术栈 Spring-Boot Spring-Cloud Spring-Cloud-Gateway Spring-Cloud-Sleuth Sentinel Nacos Feign Docker Mysql Mongodb Redis LightMQ EasyDoc WebSocket Jpa ...
基于ActiveMQ的消息中间件架构设计.docx
亲测可用的基于Linux消息队列的简易聊天室(C语言)(附源代码)采用客户-服务器结构,其中服务器实现各个用户的登录并存储相关信息,客户端通过服务器端获取当前登录用户信息,然后各客户进程通过消息队列实现双向通信...
基于微服务架构实现的智能招聘系统(用于毕业设计) 功能 上传简历||填写简历 投递简历 发布职位 简历打分(基于规则匹配打分) 消息推送 邮件提醒 推荐候选人 推荐职位
根据企业应用程序间进行消息服务的实际需要,深入研究Java消息服务(Java Message Service,JMS)技术,结合其中的"发布/订阅式"和"点对点式"两种消息收发模式,提出了一个基于JMS体系结构的全新的消息服务模型,并针对股票...
基于节点拓扑结构变化的路由算法,刘锐,李方敏,本文在AODV的基础上提出了一种考虑节点的网络拓扑结构变化的路由算法NTAODV。NTAODV路由算法通过引入抑制因子、设计新的路由判据和权��
基于消息队列遥测传输协议的智能家居消息中间件设计.pdf
随着汽车电子化与自动驾驶的发展,AutoSAR汽车开放式系统架构得到越来越多的重视与应用。继之前对AutoSAR进行简介之后,本文进一步深入对基于AutoSAR的CAN通讯进行介绍。如下图1所示为常见AutoSAR基础框架,其中红框...
为适应流程重组过程中灵活可变的业务流程模型,基于一个面向流程变化的业务流程模型PVSOM(process variety-oriented software model),针对其变化性进行了基于消息的可变性建模。通过定义消息格式,利用消息运算...
仿真系统通信构件设计是雷达系统仿真中的关键问题。采用多进程协作仿真设计方法构建通用雷达仿真系统,提出...实验表明,基于消息驱动的通信服务模型可以很好地实现分布式结构下雷达系统各仿真执程间的互通与协作仿真。
本标准规定了基于LTE的车联网无线通信技术的消息层技术要求,具体包括了消息层数据集的架构 以及具体的数据定义和编码方式等。 本标准适用于基于LTE的车联网无线通信技术的消息层。
人工智能-机器学习-基于消息和构件运算的软件体系结构演.pdf