Yasothar
Yasothar

Reputation: 453

IBM MQ - Queue Manager/Channel solution design best practice

This question is regarding designing a solution based on IBM MQ.

I have multiple systems (for example say 3) which are going to speak to a single IBM MQ server remotely, i.e the client systems are running in different machines.

What is the best practice for designing the solution,

What is a good solution design practice? Any guidance will be very much helpful.

Thanks in advance, Yasothar

Upvotes: 0

Views: 750

Answers (1)

Roger
Roger

Reputation: 7476

Since all systems are within your organization, I would go with 1 queue manager. The big mistake people make is to try and share queues, channels, UserIds, etc. between applications.

The first thing to do is setup channel authentication (CHLAUTH) rules and enable connection authentication (CONNAUTH), so that you have proper MQ security in place. Since all systems are internal, you may or may not want to use TLS/SSL on the channels for data encryption between clients and the queue manager.

Don’t look at everything from 30,000 feet but rather break everything down to individual applications or micro applications. Assign each application their own queue, channel and UserId. Absolutely, positively, do NOT share channels or UserIds between applications.

Create a naming standard for your queues and channels, so that it is easy to identify who they belong to. I like naming things by division/department/group/function/component. Hence, it forms a nice tree of what you have defined and applications are using.

Note: I’m not a big fan of putting queue manager name or hostname or MQ object name (i.e. QUEUE or CHANNEL) in the name of channels or queues.

i.e. Channel names:

HR.PAYROLL
HR.RECRUITMENT
HR.TRAINING

i.e. Queue names:

HR.PAYROLL.TAXES.FEDERAL
HR.PAYROLL.TAXES.STATE
HR.PAYROLL.TAXES.SOCIAL.SECURITY

Upvotes: 1

Related Questions