ActiveMQ In Action 第二章 理解面向对象的中间件(MOM)和JMS 前言及2.1 介绍企业消息传递

这章主要内容有:

企业消息传递机制和面向消息的中间件

理解Java消息服务(JMS)

使用JMS API来发送和接收消息

消息驱动bean的一个例子

为了帮助你更好地理解ActiveMQ的理念,有一些企业消息传递机制的背景和历史知识是很有必要的。
讨论企业消息传递机制后,将会通过一些使用它的小例子对JMS做一个简介。
本章的目的是简要回顾企业消息传递机制和JMS规范。
如果你已经熟悉这些话题,你可以跳到下一章。

程序员们时不时地会有应用程序间通讯和系统间数据传输的需求。此类问题固然有多种解决方案,但根据自身的客观条件和需求做出选择也很重要。我们的业务需求中经常会碰到关于性能,可伸缩性和可靠性等方面的诉求。下面列出了一些我们生活中经常碰到的这类系统:自动取款机、航空订票系统、信用卡系统、销售系统和电信系统等等。其中的大部分应用已经是我们生活不可分割的一部分了。

花点时间思考下,这些服务怎样让我们的生活更便捷。由于安全性和可靠性的保障,这些服务成为可能。这些系统的背后,由大量的分布式子系统支撑着,他们通过来回传递时间和消息进行沟通。即使是最复杂的金融交易系统,也完全是通过必要系统间业务信息的收发完成操作的。

许多产品基于各种目的提供信息传递。需求是发明之母,这亦是消息传递中间件的诞生原因。我们越来越需要一种软件提供有关通信和数据传输功能,来更轻松地管理数据格式,操作系统、协议甚至编程语言间的差异。此外,如复杂的消息路由和转换技术也开始作为此类解决方案的关联部分而出现。这样的软件被称为面向消息的中间件。

ActiveMQ是一个MOM产品,可以为这些业务系统提供异步消息传递。
身为一个符合JMS规范的MOM,ActiveMQ可以为应用程序架构提供足够的可靠性和可伸缩性。

2.1 介绍企业消息传递机制

上面提到的大多数系统使用大型计算机构建,而且许多至今仍在服役。然而,这些应用程序是怎样以如此可靠的方式运行的呢?回答这类问题之前,让我们简要地探讨一下这些解决方案背后的历史。

从19世纪60年代开始,大型组织致力于在大型机上的关键应用开发,用于完成如数据处理、财务处理、统计分析等等的工作。大型机系统对诸如高可用性、冗余、极端的可靠性和可伸缩性、无需中断服务的可升级性等等的业务需求能提供很好的帮助。虽然这些系统功能强大,但操作这类系统时的可输入选项很少。然而,在系统间通信技术尚未出现的时代,并行处理是不可能的。


图1.1 演示了终端连接到主机的示例

在19世纪70年代,用户开始通过终端访问主机,通过允许成千上万的并发用户,极大地扩展了这些系统的使用率。正是在此期间,计算机网络被发明,主机间的连接成为可能。到了80年代,出现了图形终端,PC和终端仿真软件也迅速普及由于开发运行在个人电脑和工作站上的应用程序需要访问服务主机,网络互连变得更加重要。图1.2展示到主机的不同类型的连接。连接的扩展引入了更多的平台和协议,一系列新的问题出现了。


由于系统各自的数据格式,硬件和协议需要不同类型的适配器,所以连接源系统和目标系统并不容易。随着系统各自的适配器列表日益复杂,使它们变得难以维护。很快,维护适配器的成本超过了系统本身。这时,企业消息传递机制进入了人们的视野。

企业消息传递的目的是完全不同的系统之间通过传输消息的方式完成数据的传输。
经过多年的发展,现有许多技术应用于多种格式的消息传递,包括:

• 使用远程过程调用(RPC)解决方案,比如:COM, CORBA, DCE 和 EJB

• 事件通知、进程间通信和消息排队进操作系统的解决方案 如FIFO缓冲区(FIFO buffers)、消息队列(message queues)、管道(pipes)、信号(signals)、套接字(sockets)和其他。

• 提供异步,可靠消息队列的一类中间件间消息传递的解决方案,如MQSeries SonicMQ,TIBCO和Apache ActiveMQ,常用的用于企业应用程序集成(EAI)。

我们将要讨论的是上面的解决方案中的最后一种——消息传递中间件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值