消息中间件在数据交换中的应用研究及其面临的挑战
- 格式:doc
- 大小:17.12 KB
- 文档页数:4
基于消息中间件的数据安全交换方案摘要:由于内外网安全管理权限的不同,大量相互独立、分散的数据未能实现有效连接、交换,制约了相关单位信息化建设的进一步发展。
消息中间件的出现为实现分布式环境下的数据交换提供了良好的解决方案。
本文提出在现有消息中间件的基础上增加消息标识信息及完整性校验过程,构建了基于标识的SSL改进技术,并设计了相应的数据安全交换方案,从而保证了交换过程的安全可靠。
关键词:消息中间件标识SSL 安全交换1 现有通信机制在分布式环境下,为了集成分布式应用,开发者需要对异构环境下的分布式应用提供有效的通信手段。
系统间通信常采用的方式包括远程过程调用、分布式对象技术和消息传递。
1.1 远程过程调用RPC(Remote Procedure Call)远程过程调用是支持分布式应用系统之间通信的一种重要机制。
RPC技术需要采用软件代理实现不同地址空间执行程序之间的通信。
RPC应用分为Client和Server两部分,Server用于提供多个远程过程以供调用,Client用于向Server发送调用远程过程的请求。
RPC通过本地机器的过程声明调用过程,从而达到过程的实现在远程机器上,过程的声明在本地机器上。
通常情况下,远程过程调用是同步通讯,如果采用线程机制也能够进行异步调用,但是使用过程较为繁琐。
同步通信机制存在一定的局限性,例如需要考虑网络和系统故障、流量控制以及进程同步等复杂问题。
此外,由于缺少中间代理处理请求,Client发出请求时Server 必须处于运行状态,导致Client和Server的生命周期耦合。
1.2 分布式对象技术分布式对象技术是伴随网络而发展起来的一种面向对象的技术,是分布式技术与面向对象技术的结合。
由于对象请求代理负责请求传送和Server定位,Client和Server之间并不需要直接连接。
Client不需要了解如何与Server通信以及如何激活和存储Server对象,也不必知道Server对象的位置、使用何种操作系统及其他与接口无关的成分的状态。
2022-2023年中国中间件软件市场研究年度报告2022-2023年中国中间件软件市场研究年度报告报告摘要:随着数字化转型的加速推进,中国中间件软件市场在2022-2023年将经历稳定增长。
中间件软件作为连接和协调企业内部系统以及与外部系统的关键技术,对于提升企业业务运营效率和灵活性具有重要作用。
报告预测,2022-2023年中国中间件软件市场规模将达到500亿人民币,年均复合增长率将稳定在15%以上。
一、市场概述1. 中间件软件的定义和分类中间件软件是指位于操作系统和应用软件之间,提供系统级服务和功能的软件。
根据功能和应用场景的不同,中间件软件可以分为消息中间件、应用服务器、数据集成中间件、事务中间件等。
2. 市场发展趋势(1)云计算和大数据驱动市场增长:随着云计算和大数据技术的不断发展,中间件软件在解决云环境下系统之间的互联互通、数据管理和安全等问题上发挥着重要作用,这将推动市场需求。
(2)人工智能技术的应用:人工智能技术的快速发展和广泛应用,对中间件软件提出了更高的要求,例如在人工智能模型的部署和管理、数据集成和处理等方面。
(3)企业数字化转型的推动:企业数字化转型的加速,将需要更有效的中间件软件来帮助企业实现信息系统之间的互联互通、应用集成和数据管理。
二、市场竞争格局中国中间件软件市场竞争激烈,主要的竞争厂商包括IBM、Oracle、腾讯云、阿里云等国内外一线企业,以及一些本土中小企业。
这些企业通过技术创新、产品升级以及战略合作来提升市场份额。
三、市场机遇与挑战1. 机遇(1)领先技术的应用:随着人工智能、大数据等前沿技术的不断发展,中间件软件在这些领域的应用将面临更大的机遇,例如人工智能模型的部署、边缘计算等。
(2)企业数字化转型的推动:大量传统行业企业加速数字化转型,中间件软件将成为这些企业实现互联互通和信息集成的关键技术。
2. 挑战(1)技术创新的压力:中间件软件市场的竞争激烈,各大厂商需要不断进行技术创新来满足客户的需求,并在云计算、大数据、人工智能等领域保持领先地位。
大数据消息中间件技术要求与测试方法大数据消息中间件技术是大数据领域中重要的基础设施之一,用于解决大规模数据处理和传输时的通信问题。
它可以实现高效、可靠的数据传输,并提供灵活的消息处理能力。
本文将从技术要求和测试方法两个方面来介绍大数据消息中间件技术。
一、技术要求1. 高吞吐量:大数据场景下,数据量庞大,对消息中间件的吞吐能力有较高要求。
它应能够支持并发处理大量的消息请求,保证高效的数据传输。
2. 低延迟:在大数据处理过程中,实时性是一个重要的指标。
消息中间件应能够在短时间内将消息传输到目的地,以满足实时数据处理的需求。
3. 可靠性:大数据消息中间件需要保证消息的可靠传输,即使在网络不稳定或部分节点宕机的情况下,也能保证消息的完整性和一致性。
4. 扩展性:大数据处理通常需要大规模的集群来支持,消息中间件应具备良好的扩展性,能够适应不断增长的数据处理需求。
5. 容错性:由于大数据处理过程中可能存在单点故障,消息中间件需要具备容错机制,能够快速恢复故障节点,并保证系统的稳定运行。
6. 高并发性:大数据处理通常需要并发处理大量的数据,消息中间件应能够支持高并发的消息传输和处理能力。
7. 数据安全性:大数据中可能存在敏感数据,消息中间件需要提供数据加密和访问控制等安全机制,确保数据的安全性和隐私保护。
二、测试方法1. 性能测试:通过模拟大规模数据流量,测试消息中间件的吞吐量、延迟和并发处理能力。
可以使用压力测试工具,如Apache JMeter,模拟多个并发请求,观察系统的性能指标。
2. 可靠性测试:通过模拟网络故障、节点故障等场景,测试消息中间件的容错能力和消息的可靠传输。
观察系统在故障情况下的恢复能力和数据一致性。
3. 扩展性测试:通过增加节点数或增大数据量,测试消息中间件的扩展性能力。
观察系统在扩展时的负载均衡和性能表现。
4. 安全性测试:测试消息中间件的数据加密和访问控制等安全机制。
可以通过模拟攻击、漏洞扫描等方式,测试系统的安全性和防护能力。
消息中间件技术在大型应用中的应用随着互联网的普及和应用范围的扩大,越来越多的人开始关注消息中间件技术,这种技术被广泛应用于大型应用中。
它的主要功能是将数据从一个应用程序转移到另一个应用程序,因此在大型应用中,消息中间件技术不仅能够帮助应用程序之间实现数据交换,而且还能够帮助企业实现信息共享、提高应用程序的稳定性和可靠性等。
在大型应用中,消息中间件技术可以被用于不同的业务场景,例如金融行业、物流行业、移动互联网行业等。
在金融行业中,消息中间件技术可以被用于管理股票交易和支票清算系统,其能够灵活地处理大量的请求和响应,从而帮助金融机构快速响应客户需求。
在物流行业中,消息中间件技术可以用于管理和跟踪货物在整个物流链路中的运输和处理,这种技术能够确保物流企业能够快速、准确地完成订单,同时提高整个物流供应链的效率和安全性。
在移动互联网行业中,消息中间件技术可以被广泛应用于实时通讯和推送服务。
它可以帮助各种移动应用程序实现更快的消息传输和响应,从而提高用户体验和用户粘性。
消息中间件技术还有一个重要的功能,那就是实现异步处理和事件驱动。
在大型应用中,异步处理和事件驱动是一个非常关键的问题。
如果应用程序在同步方式下进行操作,那么在处理大量请求时,它可能会出现性能瓶颈和系统崩溃的问题。
因此,消息中间件技术提供了异步处理和事件驱动的功能,通过这种方式,应用程序可以更加高效地处理请求,提高系统的可靠性和稳定性。
另外,在大型应用中,消息中间件技术还具有可扩展性和灵活性。
由于应用程序在处理请求时实现了分离,因此这种技术可以轻松地进行扩展和集成,以满足不同场景下的需求。
例如,在物流行业中,行业需求可能会出现急速增长,因此,企业可以通过扩大消息中间件的集群规模来应对客户需求。
这种扩展对系统的影响非常小,因此企业可以以最小的成本实现更高的服务能力。
最后,消息中间件技术还具有安全性和可靠性。
它可以通过多种方式保证数据的完整性和安全性,例如采用SSL加密和数字签名等技术。
消息中间件的使用场景
消息中间件被广泛应用于各种场景中,主要包括以下四种典型场景:
1. 异步处理:在传统的串行和并行方式中,任务的执行顺序是固定的,而在消息中间件的帮助下,可以将一些不需要立即响应的任务转化为消息,异步地发送给消费者进行处理。
这种方式能够显著提高系统的吞吐量。
2. 应用解耦:当一个系统需要和多个其他系统进行交互时,可以使用消息中间件作为中介。
例如,系统A需要向系统B和系统C 发送消息,为了降低系统A与系统B和系统C之间的耦合度,我们可以让系统A将消息发送给消息中间件,然后由消息中间件将消息转发给系统B和系统C。
3. 流量削锋:在高并发的场景下,消息中间件可以缓冲大量的请求,避免因为瞬间流量过大而导致系统崩溃。
4. 消息通讯:在那些需要进行大量数据传输的应用中,如秒杀活动、抢购、邮件发送、电话短信等,消息中间件都发挥了重要的作用。
大数据消息中间件技术要求与测试方法大数据消息中间件技术是指在大数据系统中,用于传递和处理消息的一种软件工具或服务。
它在大数据系统中起到了连接各个模块和组件、协调任务和数据流的重要作用。
本文将从技术要求和测试方法两个方面来介绍大数据消息中间件技术。
一、技术要求1. 高吞吐量:大数据系统中产生的数据量通常非常庞大,因此消息中间件需要具备高吞吐量的能力,能够快速处理大量的消息。
2. 低延迟:大数据系统通常需要实时或近实时的数据处理和分析,因此消息中间件需要具备低延迟的能力,能够快速传递消息并将其投递给相应的模块或组件。
3. 可靠性:大数据系统中的数据非常重要,因此消息中间件需要具备高可靠性的能力,能够确保消息的不丢失不重复,并能够处理消息发送和接收过程中可能出现的异常情况。
4. 可扩展性:大数据系统通常需要处理的数据规模会不断增大,因此消息中间件需要具备良好的可扩展性,能够方便地扩展到更多的节点和集群,以应对不断增长的数据处理需求。
5. 一致性:大数据系统中的各个模块和组件需要协同工作,因此消息中间件需要具备一致性的能力,能够确保消息的顺序和一致性,以避免数据处理过程中出现错误或不一致的情况。
二、测试方法1. 吞吐量测试:可以通过模拟大量的消息发送和接收,并测量消息中间件在单位时间内能够处理的消息数量来测试其吞吐量。
可以使用压力测试工具来进行测试,并观察系统的响应时间和吞吐量指标。
2. 延迟测试:可以通过发送一条消息并测量其从发送到接收所经过的时间来测试消息中间件的延迟。
可以在不同网络环境下进行测试,并观察延迟时间的变化。
3. 可靠性测试:可以通过发送大量的消息,并模拟消息发送和接收过程中的异常情况,如网络断开、节点故障等,来测试消息中间件的可靠性。
可以观察消息中间件是否能够正确处理异常情况,并保证消息的不丢失和不重复。
4. 扩展性测试:可以通过增加节点或集群的数量,并观察系统的性能和吞吐量指标来测试消息中间件的扩展性。
《企业应用集成的研究与应用》一、引言随着信息技术的飞速发展,企业面临着越来越多的应用系统,这些系统各自独立运行,数据和信息无法有效共享和整合。
因此,企业应用集成(Enterprise Application Integration,E)技术应运而生,它旨在将企业内外部的各种应用系统、数据源和业务流程进行集成,以实现信息的共享和业务流程的优化。
本文将对企业应用集成的研究与应用进行深入探讨。
二、企业应用集成的背景与意义企业应用集成是信息技术领域的一个重要方向,其背景源于企业对信息共享和业务流程优化的迫切需求。
在信息化时代,企业拥有众多的应用系统,如ERP、CRM、OA等,这些系统分别负责企业的不同业务领域。
然而,由于各系统之间的数据格式、技术标准、业务流程等方面的差异,导致信息无法有效共享和整合,从而影响了企业的运营效率和竞争力。
企业应用集成的意义在于打破信息孤岛,实现信息的共享和业务流程的优化。
通过集成技术将各个应用系统、数据源和业务流程进行整合,形成一个统一的信息化平台,从而提高企业的运营效率和竞争力。
同时,企业应用集成还能降低企业的IT成本,提高企业的灵活性和适应性,为企业的发展提供有力支持。
三、企业应用集成的研究内容企业应用集成的研究内容主要包括以下几个方面:1. 技术研究:包括数据交换技术、消息传递技术、中间件技术等。
这些技术是实现企业应用集成的基础,能够有效地解决不同系统之间的数据格式、技术标准等问题。
2. 业务模型研究:通过对企业业务流程的分析和建模,确定集成的需求和目标,为集成方案的制定提供依据。
3. 集成方案设计:根据企业的实际需求和目标,制定合理的集成方案,包括系统架构设计、数据映射设计、业务流程设计等。
4. 实施与测试:将集成方案付诸实施,并进行严格的测试和验证,确保集成的效果和质量。
四、企业应用集成的实践应用企业应用集成的实践应用已经得到了广泛的推广和应用。
以下是一些典型的实践案例:1. 某制造企业采用企业应用集成技术将ERP、SCM、CRM 等系统进行集成,实现了生产、销售、采购等业务流程的优化和信息的共享,提高了企业的运营效率和竞争力。
信息系统的互联互通与集成在当今信息化的社会中,各种各样的信息系统被广泛应用于不同领域。
信息系统的互联互通与集成成为了一个不可忽视的问题。
本文将探讨信息系统的互联互通与集成的意义,以及相关的技术和挑战。
一、互联互通的意义信息系统的互联互通意味着各个系统之间能够进行数据和信息的交流与共享。
这在很多场景下都是非常必要的。
首先,互联互通能够提高工作效率。
当各个系统之间能够互相连接和交互,员工就能够更好地利用已有的数据和资源,避免重复劳动。
其次,互联互通能够提供更全面的信息。
不同系统中的数据和信息可以相互补充,通过合理的整合和分析,可以获得更全面准确的信息,为决策提供更好的支持。
此外,互联互通还能够促进跨部门和跨组织的协作。
不同部门和组织之间可以通过互联互通的信息系统实现信息共享和协同工作,提高工作效率和合作效果。
二、互联互通的技术实现信息系统的互联互通需要借助一些技术手段。
目前,常用的互联互通技术主要包括以下几种。
1.网络技术:以互联网为基础的各种网络技术,如局域网、广域网、无线网络等,可以实现信息系统之间的数据传输和共享。
2.数据交换格式:采用统一的数据交换格式,如XML、JSON等,可以实现不同系统之间的数据交换和解析。
3.Web服务:通过使用Web服务标准,如SOAP、REST等,可以实现不同系统之间的交互和通信。
4.中间件技术:使用中间件技术,如消息队列、服务总线等,可以实现异构系统之间的集成和通信。
三、互联互通的挑战尽管信息系统的互联互通带来了很多好处,但也面临一些挑战和困难。
1.协议和标准的不一致:不同系统使用的协议和标准可能不一致,导致数据传输和解析的困难。
2.安全性和隐私问题:互联互通可能会面临安全性和隐私问题。
数据在系统之间传输和共享,如何保证数据的安全性和隐私性是一个重要的问题。
3.数据质量问题:不同系统中的数据质量不一致,可能存在数据冲突、数据丢失等问题,如何保证互联互通的数据质量是一个挑战。
国产中间件应用现状调研报告随着信息技术的快速进步,中间件作为软件系统的关键组成部分,在提供稳定性、安全性和可靠性方面发挥着重要作用。
在国产软件进步的进程中,国产中间件的应用越来越受到关注。
本报告旨在探讨国产中间件的应用现状,以期为进一步推动国产中间件产业进步提供参考。
二、国产中间件市场概览目前,国产中间件市场正呈现出快速增长的趋势。
尤其在金融、电信、政务等行业领域,国产中间件得到了广泛应用。
依据调研数据显示,国产中间件市场规模自20XX年以来平均年增长率超过15%。
国家层面的政策扶持、技术创新以及用户需求的增加,都为国产中间件市场进步提供了有力支撑。
三、国产中间件应用案例1. 金融行业应用:中国某大型银行接受国产中间件构建了分布式来往系统,提高了银行系统的并发能力和稳定性。
该系统能够处理高并发的来往请求,同时保证数据的安全性和完整性。
2. 电信行业应用:中国挪动建设的大规模物联网平台接受国产中间件作为核心技术支撑,实现了物联网设备的管理和互联互通。
该平台能够快速接入大量设备,具备高性能和高可扩展性。
3. 政务行业应用:某省级政府接受国产中间件搭建了政务对外接口平台,实现了政府与企业、大众之间的数据交换和共享。
该平台通过提供标准化的接口和数据格式,提高了政务处理效率和数据的准确性。
四、国产中间件的优势和挑战国产中间件在市场应用中呈现出了一些奇特的优势,但也面临一些挑战。
1. 优势:(1)技术优势:国产中间件在性能、可靠性和安全性方面与国际先进水平相当,能够满足不同行业的需求。
(2)定制化支持:国产中间件可以依据用户特定需求进行定制开发,提供个性化的解决方案。
(3)本地化服务:国产中间件提供准时有效的技术支持和培训,能够更好地满足用户的需求。
2. 挑战:(1)市场认可度:由于国产中间件相对于国际品牌较为年轻,因此在市场上的影响力和认可度仍有待提高。
(2)技术创新:国产中间件面临着国际领先品牌的竞争,需要加大对核心技术的研发投入,不息提升自身的技术实力。
消息中间件在数据交换中的应用研究及其面临的挑战摘要:简要介绍了消息中间件在数据交换数据交换中的应用,论述了消息中间件所面临的挑战及应对措施:传输消息大小不受限制;同时支持Windows 2000/nt/98/ME等多种操作系统,并能通过配置充分发挥不同操作系统的性能;实现消息队列操作的回滚与提交,使消息进行多级回执;以COM形式提供MQ Clinent API。
关键词:数据交换消息中间件消息队列 COM计算机技术的不断推陈出新,带来了信息化发展的新浪潮,人们感受到了计算机及网络技术所带来的好处,于是对电子化、信息化应用的需求也越来越迫切。
信息技术以其强大的渗透力,深入到社会经济生活的各个方面。
在商业金融等领域,电子数据交换作为一种新的商务手段正在被广泛使用。
数据交换EDI(Electronic Data Interchange)是一种计算机应用技术,根据事先达成的协议,将信息按照一定的标准进行格式化处理,并把这些格式化的数据,通过计算机通信网络在其计算机系统之间进行交换和自动处理。
作为计算机通信技术的一部分,EDI可以应用于制造业、运输业、零售业以及卫生保健和政府部门等各种经济部门之中。
消息队列中间件MOM(Message-Oriented Middleware)是一种特定的中间件,它利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。
1 数据交换的研究与应用现状1.1 国际发展现状及趋势西方发达国家已普遍采用EDI。
据统计,1992年底世界上使用EDI的企业超过10万家,95年达到40万家。
美国早在60年代初期,就在公路、铁路、海运和空运中应用EDI,而且每年还以100%的速度增长;西欧各国已将EDI应用于汽车、化工、电子、运输、保险、分销零售业中;日本已在销售、贸易、运输、和制造业中广泛使用EDI;新加坡声称95%的贸易用EDI实现。
据悉,美国政府及欧洲共同体大部分国家的海关宣布,从1992年起,采用EDI方式办理海关业务,如不采用EDI方式,其手续将被推迟办理,或不再选为贸易伙伴。
1996年,亚洲六个国家和地区(中国、日本、印度、马来西亚、菲律宾和中国台湾省)达成协议,将共同开发EDI系统,以便使这些国家和地区在进出口过程中能够实时地采集进出口数据,有效对客户进行管理,减少报关错误。
这无疑会加快亚洲国家的EDI建设进程。
在欧洲,一些大公司,包括超市连锁公司,已经开始对不开通EDI的供应商实行制裁措施(价格、处理时间、付款方式上实行歧视政策)。
新加坡贸易发展局宣布:从1999年1月1日起,所有进出口贸易都必须用EDI方式申报。
香港地区从2000年开始全面关闭进出口报关柜台,所有的进出口报关必须通过EDI方式。
EDI的发展趋势:(1)应用EDI的行业会增多;(2)EDI 与其他信息传送技术和系统的一体化;(3)EDI技术将受Internet的冲击。
1.2 国内发展现状我国也早已经开始重视和普及EDI技术,“八五”抓基础、抓试点;“九五”建立起中国贸易网(China Trade Network),尽快实现与国际贸易网的大联通,全面推行EDI。
近几年来,国内方正、中软、启宏科技、南通等软件公司在数据交换平台方面都已经快速发展。
方正数码公司2002年提出了面向信息资源整合的跨地域、跨部门应用技术框架,为横跨多个政府机构的服务、监管职能的业务实现和同一机构内多个部门不同业务系统之间的数据整合提供了进行有效转换和交流的安全信息交换平台——方正易畅InfoHub。
方正易畅InfoHub安全信息交换平台在信息系统中为终端节点提供安全可靠的消息传输。
它采用基于XML技术的消息结构进行信息的表达,存储及传输。
而作为封装在消息结构中的消息内容可以是XML格式的信息,EDI格式的信息,或者是采用用户自己定义的格式的信息。
由中软网络技术股份有限公司与河南省国家税务局联合开发出《行政管理与监控考核系统》填补了国家办公软件的空白。
中软股份在此基础之上建立系统框架,并通过技术框架与功能框架完美结合,使功能不断扩充与完善,完成了《行政管理与监控考核系统》。
该系统已经在驻马店市国税局得到了全面的推广与实施,为提升税务行业行政管理水平和质量做出了贡献。
启宏科技电子数据交换平台,不仅为致力于提供数据交换与系统整合功能的软件开发商提供基础开发平台,同时也可直接运用于各种行业及政府公用基础数据交换平台的建设。
2 存在的问题及解决方案目前EDI技术需要解决如下问题:(1)网络通信传输标准:解决异型机、异型网络环境下的信息交换;(2)交易业务格式标准化:交易双方必须使用相同的交易文件格式;(3)语言文字标准化:交易双方应使用相互理解的语言文字进行交换;(4)EDI中心的建立与管理规范;(5)权威性与合法性;(6)安全保密性。
随着EDI技术应用的深入,人们认识到:用户将不会再采用大而僵化的通用产品,他们将通过构件集成的方式实现个性化的IT方案。
权威市场研究及顾问机构Gartner指出,到2005年,至少70%的新的应用软件将会以构件化的方式基于架构开发而成。
所有这一切决定了复杂而僵化的编码式的软件体系即将灵活的构件集成式的软件体系取代。
而中间件(Middleware)技术则为构件化应用软件提供了一个实现资源共享的集成平台。
3 中间件技术起步于二十世纪90年代初期的中间件,是一类软件的总称,实现网络互连、应用之间的互操作,与操作系统和数据库并称为三大基础软件。
它位于操作系统和应用系统之间,是一种独立的系统软件或服务程序,应用软件借助该软件在不同平台、不同的应用环境之间实现资源共享[3]。
中间件是位于平台(硬件和操作系统)和应用之间的通用服务。
,这些服务具有标准的程序接口和协议。
针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。
中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件产品。
基于目的和实现机制的不同,将平台分为以下主要几类:消息队列中间件、分布式面向对象中间件和事务处理中间件等。
消息队列服务是一种松耦合的分布式应用集成形式[13]。
发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。
这种模式下,发送和接收是异步的,发送者无需等待;二者的生命周期未必相同:发送消息的时候接收者不一定运行,接收消息的时候发送者也不一定运行;一对多通信:对于一个消息可以有多个接收者。
消息队列中间件最重要的功能是及时提供可靠的消息通信手段。
为了能够完成消息的可靠传输,一般情况下,使用队列的方式进行消息管理,也就是说,通常在进行数据传输时,将数据按照用户定义的大小,拆分成若干消息放入消息队列,按照同步或异步的通信方式发送或者接收消息。
在当前信息系统工程中,出于功能、安全性、可靠性等方面的考虑,大量使用路由器、交换机、防火墙的网络设备,或使用集群、双机热备份等网络技术,网络结构日趋复杂。
为了能够满足网络使用的要求,中间件产品通常可以采用多种方式进行部署,做到系统之间构筑一对一、一对多、多对一、多对多的树型网络结构,使系统配置和管理大为简化,同时也能满足系统数据传输的要求。
消息传输中间件的跨平台能力也是中间件的重要指标。
为满足异构平台的数据通信要求,消息传输均使用标准的IP包封装,因此中间件产品能做到真正跨平台的数据通信。
此外,消息传输中间件通常都提供丰富的API函数接口,可以支持标准C/C++、Microsoft Visual C++、Microsoft Visual Basic、Borland C、PowerBuilder、Java等开发语言,特别是对标准的C/C++和Java的支持,方便在不同应用平台的应用开发,同时实际上也增强了消息传输中间件的跨平台能力。
消息队列服务系统服务系统即是把消息中间件技术应用于实践中的一种位于平台(硬件和操作系统)和应用之间的服务程序。
消息队列是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任一位置。
其实现原理是:消息的发送者把自己想要发送的信息放入一个容器中(Message),然后把它保存至一个系统公用空间的消息队列(Message Queue)中;本地或者是异地的消息接收程序再从该队列中取出发给它的消息进行处理。
在消息传递机制中,有两个重要的概念。
一个是消息,一个是队列。
消息是由通信的双方所需要传递的信息,它可以是各式各样的媒体,如文本、声音、图象等等。
消息最终的理解方式,为消息传递的双方事先商定,这样做的好处是,一是相当于对数据进行了简单的加密,二则采用自己定义的格式可以节省通信的传递量。
消息可以含有发送和接收者的标识,这样只有指定的用户才能看到只传递给他的信息和返回是否操作成功的回执。
消息也可以含有时间戳,以便于接收方对某些与时间相关的应用进行处理。
消息还可以含有到期时间,它表明如果在指定时间内消息还未到达则作废,这主要应用与时间性关联较为紧密的应用。
消息队列是发送和接收消息的公用存储空间,可以存在于内存中或者是物理文件中。
消息可以以两种方式发送,即快递方式(express)和可恢复模式(recoverable),它们的区别在于,快递方式为了消息的快速传递,把消息放置内存中,而不放于物理磁盘上,以获取较高的处理能力;可恢复模式在传送过程的每一步骤中,都把消息写入物理磁盘中,以得到较好的故障恢复能力。
消息队列可以放置在发送方、接收方所在的机器上,也可以单独放置在另外一台机器上。
正是由于消息队列在放置方式上的灵活性,形成了消息传送机制的可靠性。
当保存消息队列的机器发生故障而重新启动以后,以可恢复模式发送的消息可以恢复到故障发生之前的状态,而以快递方式发送的消息则丢失。
另一方面,采用消息传递机制,发送方必要再担心接收方是否启动、是否发生故障等非必要因素,只要消息成功发送出去,就可认为处理完成,而实际上对方可能甚至未曾开机,或者实际完成时可能已经是第二天了。
采用消息队列技术带来的好处是:由于是异步通信,无论是发送方还是接收方都不用等待对方返回成功消息,就可以执行余下的代码,因而大大地提高了事物处理的能力;当信息传送过程中,信息发送机制具有一定功能的故障恢复能力;消息传递机制使得消息通信的双方具有不同的物理平台成为可能。
消息队列分为用户创建队列和系统队列,用户队列分为:(1)“公共队列”在整个可传递消息的“消息队列”网络中复制并传输,并且有可能由网络连接的所有站点访问。
(2)“专用队列”不在整个网络中发布。
相反,它们仅在所驻留的本地计算机上可用。
专用队列只能由知道队列的完整路径名或标签的应用程序应用程序访问。