WebSphere MQ&&Active MQ

简介:
  • WebSphere MQ

1、  中间件处于应用软件与系统软件之间,是一种以自己的复杂换取企业应用简单化的可复用的基础软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

2、  三种通信技术:

RPC(remote process call):同步;

CPI-C:同步;

MQI(message queue interface):异步通信方式,通信的方式与传送协议无关。

3、  中间件产品:

消息中间件:IBM WebSphere MQ

交易中间件:IBM CICS,Bea tuxedo

对象中间件:IBM componentbroker,ionaorbix,borland,visibroker

应用服务器:IBM WebSphere,Bea weblogic

安全中间件:entrust

应用集成服务器:lss flowwan,IBM flowman,vitria businessagiliti

4、  WebSphere MQ由消息传输系统和应用程序接口组成,资源是消息和队列;

消息传输系统:用于确保队列之间的消息提供,包括网络中不同系统上的远程队列之间的消息提供,并保证网络故障或关闭后的恢复;

应用程序接口:应用程序和消息系统之间通过WebSphere MQ API实现(API在所有WebSphere MQ平台上是一致的,API只有14个调用2个动作(发送put和接收get))

消息:Request Message,Reply Message,Report Message,Datagram Message

一个消息包含两个因素:消息描述和数据消息

消息描述:用于定义,如消息传输目标

数据消息:如应用程序数据或数据库查询

队列:一个安全的存储消息的地方,消息的存储一般是顺序的,队列是消息分阶段的传送和接收,因为消息存放在队列中,所以应用程序可以相互独立的运行,以不同的速度,在不同的时间,不同的地点;

注:程序之间的通信通过传递消息而非直接调用程序;WebSphere MQ最基本而最重要的技术——可靠消息传输,它具有特殊的技术防止消息重复传送,确保消息一次且仅一次传送(once-and-only-once

5、  重要特点:

统一接口:目标应用程序位置的透明性(target application location transparency;

处理不依赖时间的限制:异步处理

给分布式处理提供强健的中间件:保证数据一致性,信息的传输(once-and-only-once,并可在系统故障时,及时恢复,业务不受影响

小节:

WebSphere MQ是基于消息队列Message Queue或消息传送MessagePassing的中间件,主要功能是在应用程序之间传送消息,这些消息可以在不同的网络协议,不同的计算机系统和不同的应用软件之间传送,使用它可简单方便的开发出可靠高效的分布式应用系统;

WebSphere的技术可实施在广泛的IBM和非IBM平台上,提供了一个面向业务的信息技术架构(基于WebSphere MQ的应用程序可以更接近的模拟商业问题,更容易设计、开发和维护),使得基于它的应用无结构限制,应用程序之间可以是一对一、一对多、多对多的关系,应用程序之间信息传递可以是单向或双向,灵活的结构,支持平衡工作负荷、并发处理、多路广播及其它应用程序之间的关系,总之是应用程序充分接近业务需求,并且当应用需求改变时,WebSphere MQ的结构可以很容易的跟着改变。

 

  • Active MQ

1、  Active MQ是开源的JMS的实现,部分特点:多种语言和协议编写;完全支持JMSJ2EE各版本;支持Ajax(异步应用);调整的信息持久化等。

2、  消息生产者――》消息队列――》消费者

JMS(java message service):MOM(messageoriented middleware面向消息的中间件),应用程序在异步情况下可靠的传输和接收消息

Message producer:消息生产者

JMS provider:消息提供者(中转站)

JMS consumer:消费者(接收者)

JMS消息传递模式:

点对点模式:p2p,每个消息只能被一个接收者接收;每条消息要么被接收者从队列中取走,要么被JMS Provider在超时情况下删除;消息产生的时候接收者不一定存在,接收者可以在消息产生的任何时候取走消息;

发布/订阅模式:发送者为发布者,接收者为订阅者,一个消息可以有很多接收者,订阅者只能接收它订阅的主题中的消息,订阅者在消息发送的时候必须是活动的,并随时准备接收消息,否则会错过该消息。

JMS消息的组成:消息头(header);属性(property);消息体(body:bytemessage,mapmessage,streammessage,textmessage,objectmessage.

3、  安装(必须先安装JDK(JavaDevelopment kit)才能装Active MQ):

#mkdir /usr/java

#tar zxvf  /usr/src/ jdk-8u51-linux-x64.tar.gz  -C /usr/java/

#cd /usr/java/

#ln -s  jdk1.8.0_51  /usr/java/jdk

#ls -l  (查看链接是否正确)

#vim /etc/profile.d/java.sh

JAVA_HOME=/usr/java/jdk

Export  JAVA_HOME

Export  PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

#source /etc/profile.d/java.sh

#java -version

#javac -version  (有正确结果输出则环境配置正确)

 

#tar zxvf  /usr/src/ apache-activemq-5.12.0-bin.tar.gz  -C /usr/java/

#cd /usr/java/

#ln -s  apache-activemq-5.12.0  /usr/java/activemq

#ll  (查看软链接是否正确)

#vim /usr/java/activemq/conf/activemq.xml (主配置文件,通过此文件可优化配置,如撤销存储策略,brokermemoryUsage阀值,配置监听IP<transportConnectors>段等)

#/usr/java/activemq/bin/activemq  start|stop

#netstat   lntup  | egrep “61616|8161”

#ps -ef  |  grep activemq

#pkill java

http://localhost:8161/admin  (浏览器登陆,可用图形化管理,首次登陆用户名密码均为admin



本文转自 chaijowin 51CTO博客,原文链接:http://blog.51cto.com/jowin/1688986,如需转载请自行联系原作者

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
消息中间件 网络协议 网络安全
|
消息中间件 安全 Java
|
监控 应用服务中间件 测试技术
|
存储 消息中间件 监控
|
应用服务中间件 Windows
IBM WebSphere MQ 7.5基本用法
一、下载7.5 Trial版本 http://www.ibm.com/developerworks/downloads/ws/wmq/ 这是下载网址,下载前先必须注册IBM ID,下载完成后一路Next即可(注:windows上安装时,会询问是否域环境,初次学习时,为简单起见,建议选择No) ...
1966 0
|
2月前
|
消息中间件 JSON Java
开发者如何使用轻量消息队列MNS
【10月更文挑战第19天】开发者如何使用轻量消息队列MNS
99 8
|
2月前
|
消息中间件 安全 Java
云消息队列RabbitMQ实践解决方案评测
一文带你详细了解云消息队列RabbitMQ实践的解决方案优与劣
91 8
|
1月前
|
消息中间件 存储 Kafka
MQ 消息队列核心原理,12 条最全面总结!
本文总结了消息队列的12个核心原理,涵盖消息顺序性、ACK机制、持久化及高可用性等内容。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
|
2月前
|
消息中间件
解决方案 | 云消息队列RabbitMQ实践获奖名单公布!
云消息队列RabbitMQ实践获奖名单公布!
|
2月前
|
消息中间件 存储 弹性计算
云消息队列RabbitMQ实践
云消息队列RabbitMQ实践