异步消息处理机制在总分数据传输应用中研究.docVIP

  • 3
  • 0
  • 约3.03千字
  • 约 7页
  • 2018-09-08 发布于福建
  • 举报

异步消息处理机制在总分数据传输应用中研究.doc

异步消息处理机制在总分数据传输应用中研究

异步消息处理机制在总分数据传输应用中研究   摘 要 部分总分组织结构的企业存在着集中系统与分散部署系统交互的场景,消息处理是实现这类交互的一类重要方法。本文介绍了某公司基于JMS标准实施消息处理的一个案例,介绍了初始设计思路和产生的问题,并对问题进行了分析和改进,取得了较好的效果,可以供同类项目参考。   【关键词】数据传输 JMS MDB   1 引言   1.1 背景   部分信息化建设较早的总分结构的大型企业存在这样一种情况,系统分散部署在各分支机构。近年来,随着企业业务及信息化发展,绝大部分新系统上线之初就以集中形式建设,老的分散系统则逐步开始进行大集中。这个过程中,不可避免的出现了集中系统与分散系统交互的情况,消息机制无疑是处理这类交互较好的一种方式。   1.2 研究思路   以某公司实施的集中系统与分散系统数据传输项目为案例,介绍了初始设计时采用的技术思路,经试运行,总结过程中产生的问题,提出了解决方案并付诸实践,对数据传输压力和改进效果进行对比分析。   2 参考文献   2.1 消息   消息有异步和同步之分。同步指客户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行;异步指客户发出调用后即可返回,待对端完成处理后,再返回结果。在现实系统中,异步消息机制得到了广泛应用,出现了消息中间件MOM(Message-Oriented Middleware),它的主要机制是:消息发送者将消息发送给消息服务器,消息服务器将消息存放在消息队列中,在合适的时候将消息发送给接收者,发送和接收是异步的。   2.2 JMS   JMS(JAVA Message Service)是J2EE平台中消息处理标准,是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持,包括IBM WebSphere MQ、Oracle WebLogic Server、Apache ActiveMQ等。它包含了点对点(Point to Point)和发布订阅(Publisher/Subscriber)两种消息模型,提供可靠消息传输、事务和消息过滤等机制。   2.3 MDB   MDB(Message-Driven Bean),即消息驱动bean,是在EJB容器中消费和处理异步JMS 消息,这样可以把一些任务抽象出来交给容器提供的基础功能去完成。MDB消息处理模式,极大简化消息监听、消息处理逻辑,提高消息处理效率,并实现自由配置消费者的大小,合理使用资源,当初始消费者较少时,根据业务繁忙情况,容器自动创建消费者实例,增加服务处理能力,当服务压力较小时,可释放一定的消费者,减少资源使用。   3 某公司数据传输方案   3.1 系统体系结构   A系统为全国集中的渠道类系统,公司很多核心应用分散部署在分公司,为保证A系统数据的正常后处理,需开发一套数据传输系统用于总分公司数据交互,保证后续业务的顺利进行,同时保障总分公司相关数据一致性。   3.2 消息处理机制设计   (1) 在总公司和分公司各部署相应数据传输应用。   (2) 采用多线程后台运行模式,总公司与分公司分别有三个线程处理三个队列消息,每个线程负责一个队列消息的处理,即每个线程启动一个服务窗口显示消息的处理情况。   (3) 总公司三个队列集中处理全国各地的消息。   4 问题及分析   4.1 问题   (1) 资源管理机制不完善,无法有效监控资源利用情况。   一是每个线程需要的资源比如:系统内存大小、线程总数大小及需要加载的服务启动jar包都需单独配置,资源利用不合理。   二是通过单独线程启动服务,无法方便的监控服务运行情况,包含数据源的使用情况,服务线程使用情况,消息队列的使用情况等。   (2) 可靠性差,个别地区的消息堵塞影响全国数据交互   总公司三个线程集中处理全国消息,在初期业务量较小的情况下还适用,随着业务量快速增长该模式已经无法保障消息正常收发。每天下午4点到6点各分公司上收消息量达30000条/小时;同时,总分数据传输不稳定的现象也时有出现,原因包括总分广域网网络异常,分公司数据传输设备异常,分公司数据传输应用异常等等。一旦消息出现堆积,蝴蝶效应会立刻将影响放大到各分公司。   4.2 解决方案设计及效果   为有效解决以上问题,拟实施以下几点改进方案。   4.2.1 整合服务到MDB   采用MDB处理模式后,相关资源的分配管理由容器实现,对数据库的访问也可以直接使用JDBC方式进行访问,实现了资源的有效管理配置;另外,可以通过中间件控制台可视化监控服务器运行情况,及时发现问题以便采取措施。   4.2.2 采用集群部署   为保障数据传输系统的稳定性,总公司采用集

文档评论(0)

1亿VIP精品文档

相关文档