`

基于消息的架构

阅读更多
各个模块或系统基于消息彼此联系起来,这种异步的通讯方式能够应用以一种松耦合的方式组合起来,并且让这种通讯更加可靠,因为两个系统可以不是同时运行的,但消息以一种可存储的方式存储。消息组建负责将数据从一个应用传递到另一个应用,所以应用程序可以只关注它要共享的数据,而不是如何去共享。

基本概念:
消息包含了一些基本的概念,只有理解了这些细节才能知道如何去使用。

通道(Channel):基于消息的应用通过消息通道来传输数据,这个通道将发送者和接收者连接起来。一个新的消息系统开始没有任何管道,需要根据需要通讯的应用来创建通道。

消息(Message): 一个消息是在通道中传递的一个原子的包。一个应用程序可以将数据分成一个或者多个包,将每一个包包装成消息,然后在通道中发送,同样,一个接收者接受到消息,需要将从消息中提取相应的数据然后进行处理。消息系统会不断重复的尝试发送消息直到成功。

管道和过滤器(Pipe and Filter):在最简单的例子中,一个消息系统将消息直接从发送着的计算机上传送接收者的计算机上。但是通常在消息从发送者发出之后和接收者收到之前会做一些处理,比如由于发送者的数据格式和接受者的格式不同,消息需要被验证并转换。基于管道和过滤器的架构描述了多个处理步骤可以通过通道链接起来。

路由(Routing):在一个大的系统中,各种应用通过通道连接起来,一个消息可能通过多个通道并到达目的地。由于消息路由的复杂性,最初的发送着可能不知道通过哪些管道将消息流向接收者。所以出现了消息路由器,发送者只需要将消息发送给消息路由器即可,消息路由器决定怎么从管道的拓扑结构中找到通往最终接受这个得路径,或者至少是下一个消息路由器。

转换(Transformation):各种应用使用同一概念数据的不同格式,发送是一种格式,而接收者期望的是另一种格式,要解决这个问题,需要在一个中间的过滤器,一个消息的转换者,将一种格式转换成另一种格式。

Endpoint:很多程序并没有内建和消息系统的兼容接口。需要有一层代码它既知道应用的工作方式又知道消息系统的工作方式,以胶水的方式将它们联系起来,这层胶水代码被称为Message Endpoints,它能够让应用程序发送和接受消息。
分享到:
评论

相关推荐

    基于ActiveMQ的消息总线逻辑与物理架构设计详解

    在实施基于ActiveMQ的消息总线逻辑与物理架构设计时,需要注意消息中间件的核心功能实现、SOA设计原则的遵循、企业应用系统的解耦与服务共享、前端架构设计、消息流转机制以及多种消息队列技术的选择与对比。...

    基于J2EE架构的在线考试系统设计与实现.doc

    在本文中,作者探讨了基于J2EE架构的在线考试系统的设计与实现,旨在解决传统在线考试系统存在的问题,如系统更新困难、维护不便等。 ### 1. 在线考试系统的一般需求分析 在线考试系统应具备以下基本功能:用户...

    基于分布式架构管理的B2C商城设计与实现.pdf

    Redis作为一个内存中的数据结构存储系统,被用来作为数据库、缓存和消息中间件,它提高了数据的读写速度,并且支持多种类型的数据结构。 #### Solr服务器与索引机制 Solr利用了Lucene的索引机制,提供全文搜索功能...

    基于微服务架构实现的智能招聘系统(可用于毕业设计)

    基于微服务架构实现的智能招聘系统 ( 可用于毕业设计 ) 部署方式 docker部署:mvn docker:build & java -jar 物理机部署:mvn install & java -jar 技术栈 Spring-Boot Spring-Cloud Spring-Cloud-Gateway Spring-...

    基于PS消息中间件的数据交换平台的构建

    ### 基于PS消息中间件的数据交换平台的构建 #### 概述 在信息技术与信息化的领域中,构建高效的数据交换平台对于实现信息的无缝集成至关重要。文章《基于P/S消息中间件的数据交换平台的构建》深入探讨了发布/订阅...

    微服务SpringBoot整合Redis基于Redis的Stream消息队列实现异步秒杀下单

    【微服务SpringBoot整合Redis基于Redis的Stream消息队列实现异步秒杀下单】这篇文章主要讲解了如何在微服务架构中使用SpringBoot整合Redis来构建一个基于Redis Stream的消息队列,以此来实现实时、高效的异步秒杀...

    基于消息队列的多进程数据处理系统.pdf

    基于消息队列的多进程数据处理系统便是为了解决当前数据库中海量数据处理的问题而设计。它采用多进程处理方式,通过消息队列实现了进程间通信,同时利用用户界面来监控各进程的状态,从而有效提高了数据处理的效率。...

    基于SOA架构的电力信息一体化平台开发研究

    在基于SOA的一体化信息平台中,服务调用遵循一定的步骤:业务客户端通过调用公共服务实现业务功能,这涉及到服务的查找、调用、路由、访问控制、消息转换和最终的服务执行。 综上所述,基于SOA架构的电力信息一体化...

    基于消息中心的对象总线

    **跨平台**特性意味着基于消息中心的对象总线可以运行在不同的操作系统和硬件架构上。这通常通过使用标准的网络协议(如TCP/IP)和跨平台的序列化格式(如JSON或XML)来实现。跨平台能力使得开发者可以构建可扩展、...

    基于LTE的车联网无线通信技术 消息层技术要求(报批稿).pdf

    综上所述,基于LTE的车联网无线通信技术消息层技术要求是一个全面的技术规范,旨在规定消息层的架构设计、数据处理和消息交换等方面的详细要求。这些要求对于确保车联网通信的高效、安全和互操作性至关重要。

    基于分布式架构的船舶移动通信中间件研究.pdf

    为了克服这些挑战,本文提出了一种基于自适应分数间隔均衡的分布式架构下船舶移动通信中间件设计方法,旨在提升通信链路的均衡性和路由转发控制能力,减少通信误码率。 在本文中,首先探讨了船舶移动通信技术的发展...

    基于ActiveMQ的消息中间件架构设计.docx

    《基于ActiveMQ的消息中间件架构设计》 在现代企业信息化建设中,消息中间件作为解决分布式系统间通信问题的关键技术,扮演着至关重要的角色。ActiveMQ作为一款流行的消息中间件,其架构设计能够有效地实现系统间的...

    基于SOAP消息组合变异的web服务漏洞测试

    - **SOAP消息**:简单对象访问协议(SOAP)是一种基于XML的标准协议,用于在Web服务之间交换结构化的信息。它定义了如何封装信息,以及如何处理请求和响应。 - **组合变异**:指在测试过程中同时改变多个参数,以...

    基于微服务架构的客户关系管理系统的研究.docx

    - **SOA(面向服务架构)**通过定义服务接口来提供业务功能,这些服务可以通过消息传递进行交互。尽管SOA提高了模块化程度,但其依赖于中央总线(ESB),容易形成性能瓶颈,并且与特定技术堆栈(如J2EE)紧密耦合,...

    基于systemV的消息队列的多进程间CS通讯实现

    这种结构使得进程间能够明确地识别和处理不同类型的消息。 总结来说,这个实现利用System V消息队列创建了一个多进程通信框架,适用于OMCI SDK中的进程间交互,解决了原有POSIX消息队列的问题,并提供了注册机制和...

Global site tag (gtag.js) - Google Analytics