. IBM WebSphere MQ v6.0
. Chapter 1.0 - IBM WebSphere MQ6 基本觀念
.
IBM WebSphere MQueue 6.0
http://www.ibm.com/software/integration/wmq/
http://www.ibm.com/software/integration/wmq/
===關於Queue Manager===
1. Generally one Queue Manager per system. (基本上一個系統一個QM)
2. A Queue Manager owns and manages Queues.
3. Family of application programming interfaces :
---> Message Queue Interface (MQI)
---> Java Messaging Service (JMS)
===Queue 基本種類 TYPES===
1. Local Queue ( QL ) : store messages
2. Alias Queue (QA) : is not a Queue, but an object that you can use to access another Queue.
3. Remote Queue (QR) : identifies a Queue belonging to another Queue Manager.
4. Model Queue and Dynamic Queue : Temporary Queue
※ Queue 基本上是 FIFO (First-In-Fist-Out),
※ WebSphere MQ Version 6.0 support Queues over 2 GB in size.
===關於Alias Queue===
Alias Queue is not a Queue, but an object that you can use to access another Queue.
(可用來指定別名,以及屬性限制設定。)
Alias Queue is not a Queue, but an object that you can use to access another Queue.
(可用來指定別名,以及屬性限制設定。)
===關於Model Queue and Dynamic Queue===
1. Define a Model Queue with a set of attributes in the same way that you define a Local Queue.
1. Define a Model Queue with a set of attributes in the same way that you define a Local Queue.
2. Model Queues and Local Queues have the same set of attributes, except that on Model Queues you can specify whether the dynamic queues created are temporary or permanent.
(Permanent queues are maintained across queue manager restarts, temporary ones are not.)
3. A Model Queue defines a set of Queue attributes that are used as a template for creating a dynamic queue. Dynamic queues are created by the Queue Manager when an application issues an MQOPEN request specifying a Queue name that is the name of a Model Queue.
4. The dynamic queue that is created in this way is a Local Queue whose attributes are taken from the Model Queue definition. The dynamic queue name can be specified by the application, or the Queue Manager can generate the name and return it to the application.
5. Dynamic queues defined in this way can be temporary Queues, which do not survive product restarts, or permanent Queues, which do.
4. The dynamic queue that is created in this way is a Local Queue whose attributes are taken from the Model Queue definition. The dynamic queue name can be specified by the application, or the Queue Manager can generate the name and return it to the application.
5. Dynamic queues defined in this way can be temporary Queues, which do not survive product restarts, or permanent Queues, which do.
===Special LOCAL QUEUES介紹===
1. DEAD LETTER QUEUE :
a. One per queue manager.
b. Designated queue for messages that cannot be delivered.
c. Always set up a dead letter queue.
2. INITIATION QUEUE : Used for Triggering
3. TRANSMISSION QUEUE : are queues that temporarily store messages that are desined for a remote queue messagers.
4. COMMAND QUEUE : SYSTEM.ADMIN.COMMAND.QUEUE -> send MQSC commands
5. EVENT QUEUE : can be monitored by a system management application which a can get message put on the queue and take the appropriate action.
6. DEFAULT QUEUES : 4 types of local, alias, remote, model can have its default queue.
===關於Message CHANNEL===
CHANNELs are objecs that provide a communication path from one queue manager to another.
A MESSAGE CHANNEL is a one way link between two queue managers for the transmission of messages.
It consists of an MCA (Message Channel Agent) at the sending end, an MCA at the receiving end, and a communications connection between the two.
It consists of an MCA (Message Channel Agent) at the sending end, an MCA at the receiving end, and a communications connection between the two.
[ (MQPUT) ---> tQ ---> (MCA) ] ----------> [ (MCA) ---> Q ---> (MQGET) ]
===MQI Calls 基本架構===
1. MQCONN ---> (Queue Manager)
2. QMOPEN ---> (Queue)
3. MQPUT / MQGET / MQINQ / MQSET
MQBEGIN
MQPUT / MQGET
IF successful -> MQCMIT
ELSE MQBACK
4. MQCLOSE ---> (Queue)
5.MQDISC ---> (Queue Manager)
===關於Message===
A message consists of two parts :
1. Message descriptor
2. Application data
===關於Message Persistence===
Message 在 Persistence方面,又分成
1. Persistent message
2. Nonpersistent message (想快且不甚重要,但重開會消失,例如應用在 Broadcast)
===關於Listener===
AIX amqcrsta ---> root 起,為 inet TCP/IP 的 Demon,是 [ process listener ]
AIX / WIN runmqlsr ---> 不需 root,但port必須大於 1024,是 [ threaded listener ]
client 產生 SVRCONN
===MQ Object命名長度限制===
Channels ---> Max 20 characters.
其他Object ---> Max 48 characters.
===安裝MQ Installation===
AIX : SMIT
NCR UNIX : sysadm or pkgadd
Compaq OpenVMS : VMSINSTAL
HP-UX : swinstall
OS/2 Warp : INSTALL, CID enabled
Linux : rpm
SINIX and DC/OSx : pkgadd (DC/OSx), sysadm (SINIX)
Sun Solaris : pkgadd
Windows :
===權限問題===
Authority for executing WMQ control commands (crtmqm, strmqm, endmqm, dltmqm...etc.):
UNIX :
user:group = mqm:mqm => all control commands, all MQI calls.
user:group = *:mqm => runmqsc, all MQI calls. (Exception: change owner of MQI dirs.)
Windows :
Member of LOCAL Administrator / mqm group
(if domain accounts are used, they must be added into LOCAL Administrator/mqm group)
沒有留言:
張貼留言