+ All Categories
Home > Technology > Scalable mq topologies across project teams and admin domains

Scalable mq topologies across project teams and admin domains

Date post: 14-Jun-2015
Category:
Upload: peter-broadhurst
View: 590 times
Download: 1 times
Share this document with a friend
Description:
This presentation gives an overview of a number of MQ connectivity scenarios, with a focus on joining a continuously available MQ client/server hub to other environments. For example, to connect a new MQ Hub to an existing z/OS QSG, or to a remote non-clustered MQ environment in a different organization. I've discussed building scalable and continuously available MQ client/server topologies previous presentations and articles, such as slideshare http://slidesha.re/1iZ7nU8 and developerWorks series http://ibm.co/1bBgRwn.
Popular Tags:
13
Scalable MQ topologies across project teams and administrative domains Peter Broadhurst IBM Hursley
Transcript
Page 1: Scalable mq topologies across project teams and admin domains

Scalable MQ topologiesacross project teams andadministrative domains

Peter BroadhurstIBM Hursley

Page 2: Scalable mq topologies across project teams and admin domains

© 2013 International Business Machines Corporation 2

Agenda

• Background and recap on client/server scalable MQ topologies

• Sizing and scoping MQ hubs

• Common connectivity scenarios when introducing MQ hubs

• Active/active multiple data-center environments

Page 3: Scalable mq topologies across project teams and admin domains

© 2013 International Business Machines Corporation 3

Background to MQ Hubs as a scalable MQ topology pattern

• Many new MQ deployments use a client/server architecture– Small MQ Hubs with two or more active queue managers– Continuous availability for apps to send/receive messages– HA failover configured for recovery of in-flight persistent messages

• Pattern overview in this presentation: http://slidesha.re/1iZ7nU8 – Details in article series http://ibm.co/1bBgRwn and MQdev post http://ibm.co/MM8rMl

• The rest of this presentation seeks to answer additional questions like:– How many apps should share a hub?– How do I connect a new MQ hub with other MQ environments in my organization?– Ho do I connect securely and reliably across organizational boundaries?

Page 4: Scalable mq topologies across project teams and admin domains

© 2013 International Business Machines Corporation 4

BusinessPartners

MQ as a Universal Messaging Backbone

Active/Active Queue Manager Hubs

Multi-instanceQueue Managers,and HA clustering

Co-locatedQueue Managers

z/OS QueueSharing Groups

Secure MQ Cluster and Channel communications – manage complexity and route around failures

Page 5: Scalable mq topologies across project teams and admin domains

© 2013 International Business Machines Corporation 5

BusinessPartners

MQ as a Universal Messaging Backbone

Multi-instanceQueue Managers,and HA clustering

Co-locatedQueue Managers

z/OS QueueSharing Groups

Secure MQ Cluster and Channel communications – manage complexity and route around failures

Active/Active Queue Manager Hubs

When considering an active/active MQ Hub in a new project

How do you interoperate with all these other types of MQ environment?

Page 6: Scalable mq topologies across project teams and admin domains

© 2013 International Business Machines Corporation 6

Sizing and scoping your hubs

• Consider how many queue managers in each hub– A pair of two vertically scaled HA queue managers is often sufficient

• Remember MQ is only transferring the data to your business logic– Extend horizontally when you come close to the limits of vertical scale in testing

• Extending horizontally beyond two queue managers adds complexity• Think about business risk when introducing multi-tenancy

– Isolation of data and administration for security– Isolation of capacity to ensure latency SLAs are met under load– One hub per application is very common, particularly for business critical apps

• QM to QM links between hubs have benefits over direct app connections– Store and forward: protect an environment from failures in another, by buffering messages– Complex network routing: automatic retry and recovery from failures– Geographic separation: most efficient use of network bandwidth

MQ ClusterWorkload Balancing

MQ ClusterWorkload Balancing

Hub 3

Hub 2Hub 1

App1 QM1App1 QM1

App1 QM2App1 QM2

App2 QM1App2 QM1

Shared QM1Shared QM1

Shared QM2Shared QM2

App1 Inst1App1 Inst1

App1 Inst2App1 Inst2

App1 Inst3App1 Inst3

App1 Inst4App1 Inst4

App2 Inst1App2 Inst1

App2 Inst2App2 Inst2

App2 Inst3App2 Inst3

App2 Inst4App2 Inst4

App2 QM2App2 QM2

App2 QM3App2 QM3

App2 QM4App2 QM4

App3 Inst1App3 Inst1

App3 Inst2App3 Inst2

App3 Inst3App3 Inst3

App3 Inst4App3 Inst4

App4 Inst1App4 Inst1

App4 Inst2App4 Inst2

There is no perfect answerThink of it as a sliding scale from

one-hub-per-app, to a single multi-tenancy hub

Page 7: Scalable mq topologies across project teams and admin domains

© 2013 International Business Machines Corporation 7

Connecting a hub to a single queue managerwithout joining the two in an MQ cluster

• Reasons to consider this scenario:– There is only one remote queue manager

• Including cases where it is configured for high availability– An MQ cluster cannot be used to join the two environments

• For non-functional considerations such as security, or administrative separation

• Comments– Cluster workload management from hub to cluster gateway– Single SDR/RCVR channel pair between the environments– Connectivity is down during a failover or maintenance window of the cluster

gateway queue manager – messages build up in Hub1 QM1/QM2

Think about the decisionMQ clusters are the right answer for

many MQ connectivity scenarios.Think carefully about why they have

been ruled out.

MQ Cluster 1MQ Cluster 1

Hub 1

Hub1 QM1Hub1 QM1

App1 Inst1App1 Inst1

App1 Inst2App1 Inst2

App1 Inst3App1 Inst3

App1 Inst4App1 Inst4

Cluster Gateway QM1

Cluster Gateway QM1 Remote QM1Remote QM1SDR/RCVR

Hub1QM1

Standby

Hub1QM1

Standby

ClusterGateway QM1

Standby

ClusterGateway QM1

Standby

Remote QM1Standby

Remote QM1Standby

App2 Inst1App2 Inst1

App2 Inst2App2 Inst2Hub1 QM2Hub1 QM2

Hub1QM2

Standby

Hub1QM2

Standby

Page 8: Scalable mq topologies across project teams and admin domains

© 2013 International Business Machines Corporation 8

Remote MQ ClusterRemote MQ ClusterMQ Cluster 1MQ Cluster 1

Connecting a hub to a remote cluster via a single linkwithout joining the two in an MQ cluster

• Reasons to consider this scenario:– There is only one remote cluster gateway queue manager

• Including cases where it is configured for high availability– An MQ cluster cannot be used to join the two environments

• For non-functional considerations such as security, or administrative separation

• Comments– Same non-functional characteristics as the previous scenario– Common pattern between organizations– The remote topology behind the cluster gateways can be carefully protected

Think about the decisionMQ clusters are the right answer for

many MQ connectivity scenarios.Think carefully about why they have

been ruled out.

Hub 1

Hub1 QM1Hub1 QM1

App1 Inst1App1 Inst1

App1 Inst2App1 Inst2

App1 Inst3App1 Inst3

App1 Inst4App1 Inst4

Cluster Gateway QM1

Cluster Gateway QM1

Remote ClusterGateway QM1

Remote ClusterGateway QM1

SDR/RCVR

Hub1QM1

Standby

Hub1QM1

Standby

ClusterGateway QM1

Standby

ClusterGateway QM1

Standby

Remote ClusterGateway QM1

Standby

Remote ClusterGateway QM1

Standby

Hub1 QM2Hub1 QM2

Hub1QM2

Standby

Hub1QM2

Standby

Remote Hub(or other topology)

App2 Inst1App2 Inst1

App2 Inst2App2 Inst2

App2 Inst3App2 Inst3

App2 Inst4App2 Inst4

Remote QM1

Remote QM1

RemoteQM1

Standby

RemoteQM1

Standby

Remote QM2

Remote QM2

RemoteQM2

Standby

RemoteQM2

Standby

Page 9: Scalable mq topologies across project teams and admin domains

© 2013 International Business Machines Corporation 9

Remote MQ ClusterRemote MQ ClusterMQ Cluster 1MQ Cluster 1

Connecting a hub to a remote cluster via multiple linkswithout joining the two in an MQ cluster

• Reasons to consider this scenario:– Multiple links are required

• In order to provide continuous availability of the link– An MQ cluster cannot be used to join the two environments

• For non-functional considerations such as security, or administrative separation• Comments

– SDR/RCVR channels are a link from exactly one queue manager, to exactly one queue manager. So multiple two separate channels are required.

– Cluster workload management routes messages to the two channels– AMQSCLM (with customization) detects when a SDR channel is not running,

by monitoring the IPPROCS of the XMITQ, and reduces the priority of that gateway so cluster workload balancing sends messages to the other link.

Hub 1

Hub1 QM1Hub1 QM1

App1 Inst1App1 Inst1

App1 Inst2App1 Inst2

App1 Inst3App1 Inst3

App1 Inst4App1 Inst4

Cluster Gateway QM1

Cluster Gateway QM1

Remote ClusterGateway QM1

Remote ClusterGateway QM1

SDR/RCVRHub1QM1

Standby

Hub1QM1

Standby

ClusterGateway QM1

Standby

ClusterGateway QM1

Standby

Remote ClusterGateway QM1

Standby

Remote ClusterGateway QM1

StandbyHub1 QM2Hub1 QM2

Hub1QM2

Standby

Hub1QM2

Standby

Remote Hub(or other topology)

App2 Inst1App2 Inst1

App2 Inst2App2 Inst2

App2 Inst3App2 Inst3

App2 Inst4App2 Inst4

Remote QM1

Remote QM1

RemoteQM1

Standby

RemoteQM1

Standby

Remote QM2

Remote QM2

RemoteQM2

Standby

RemoteQM2

Standby

Cluster Gateway QM2

Cluster Gateway QM2

Remote ClusterGateway QM2

Remote ClusterGateway QM2

SDR/RCVR

ClusterGateway QM2

Standby

ClusterGateway QM2

Standby

Remote ClusterGateway QM2

Standby

Remote ClusterGateway QM2

Standby

AMQSCLM

AMQSCLM

AMQSCLM

AMQSCLM

Requires customizationThis scenario gives continuous availability of a link, without joining a cluster across domains, but it requires customization of

the AMQSCLM sample.

Page 10: Scalable mq topologies across project teams and admin domains

© 2013 International Business Machines Corporation 10

Intermediate MQ ClusterIntermediate MQ Cluster

Remote MQ ClusterRemote MQ ClusterMQ Cluster 1MQ Cluster 1

Connecting a hub to a remote cluster via anintermediate cluster

• Reasons to consider this scenario:– Isolation of queue managers is required between the environments

• For non-functional considerations such as security, or administrative separation

• Comments– Much simpler than the previous scenario– Suitable for bridging between organizations

• Security and split of administrative responsibility for the cluster should be considered carefully between the two organizations

Hub 1

Hub1 QM1Hub1 QM1

App1 Inst1App1 Inst1

App1 Inst2App1 Inst2

App1 Inst3App1 Inst3

App1 Inst4App1 Inst4

Cluster Gateway QM1

Cluster Gateway QM1

Remote ClusterGateway QM1

Remote ClusterGateway QM1Hub1

QM1Standby

Hub1QM1

Standby

ClusterGateway QM1

Standby

ClusterGateway QM1

Standby

Remote ClusterGateway QM1

Standby

Remote ClusterGateway QM1

StandbyHub1 QM2Hub1 QM2

Hub1QM2

Standby

Hub1QM2

Standby

Remote Hub(or other topology)

App2 Inst1App2 Inst1

App2 Inst2App2 Inst2

App2 Inst3App2 Inst3

App2 Inst4App2 Inst4

Remote QM1

Remote QM1

RemoteQM1

Standby

RemoteQM1

Standby

Remote QM2

Remote QM2

RemoteQM2

Standby

RemoteQM2

Standby

Cluster Gateway QM2

Cluster Gateway QM2

Remote ClusterGateway QM2

Remote ClusterGateway QM2

ClusterGateway QM2

Standby

ClusterGateway QM2

Standby

Remote ClusterGateway QM2

Standby

Remote ClusterGateway QM2

Standby

Page 11: Scalable mq topologies across project teams and admin domains

© 2013 International Business Machines Corporation 11

MQ Cluster 1MQ Cluster 1

Connecting a hub to a remote MQ environment using a single shared cluster

• Reasons to consider this scenario:– To obtain the most efficient connection

• Comments– Cluster workload balancing routes messages directly between hubs, or with

other existing MQ environments – including z/OS QSGs– Gives the minimum number of queue-hops for performance– Ideal for joining hubs within an organization into a messaging bus– MQ clusters can handle network complexity– MQ clusters can handle large numbers of queue manager

Hub 1

Hub1 QM1Hub1 QM1

App1 Inst1App1 Inst1

App1 Inst2App1 Inst2

App1 Inst3App1 Inst3

App1 Inst4App1 Inst4

Hub1QM1

Standby

Hub1QM1

Standby

Hub1 QM2Hub1 QM2

Hub1QM2

Standby

Hub1QM2

Standby

Remote Hub(or other topology)

App2 Inst1App2 Inst1

App2 Inst2App2 Inst2

App2 Inst3App2 Inst3

App2 Inst4App2 Inst4

Remote QM1

Remote QM1

RemoteQM1

Standby

RemoteQM1

Standby

Remote QM2

Remote QM2

RemoteQM2

Standby

RemoteQM2

Standby

Think about your full repositoriesWhen using a cluster to build a messaging bus between many MQ environments, you should consider dedicated full repository

queue managers for resilience.

Page 12: Scalable mq topologies across project teams and admin domains

© 2013 International Business Machines Corporation 12

Building MQ Hubs across multiple active data-centers

• Active/active cross-DC environments are becoming increasingly common– Two DC environments, when the DCs are geographically close– Three DC environments, with two active/active geographically close, and third DR site

• Most common goal is to avoid cross-DC traffic where possible– External traffic enters one DC via an external connectivity point

• Switchover of the connectivity point is often manual– Once inside the DC traffic remains isolated unless a component is unavailable in that DC

• The above diagram shows one way to achieve these goals for MQ– Gateway queue managers in each DC provide an entry point for external connectivity– MQ clusters isolated to each DC with a high channel priority limit cross-DC traffic where possible– A third cross-DC MQ cluster provides cross-DC connectivity when required

• For example if one component is stopped entirely within a DC, such as for an isolated power outage or maintenance window

Lower priority cross-DC MQ clusterLower priority cross-DC MQ cluster

High priority DC1-only MQ clusterHigh priority DC1-only MQ cluster High priority DC2-only MQ clusterHigh priority DC2-only MQ cluster

MQ Hub1B

Hub1B QM1

Hub1B QM1

Hub1BQM1

Standby

Hub1BQM1

Standby

Hub1B QM2

Hub1B QM2

Hub1BQM2

Standby

Hub1BQM2

Standby

MQ Hub2B

App2 Inst5App2 Inst5

App2 Inst6App2 Inst6

App2 Inst7App2 Inst7

App2 Inst8App2 Inst8

Hub2B QM1

Hub2B QM1

Hub2BQM1

Standby

Hub2BQM1

Standby

Hub2B QM2

Hub2B QM2

Hub2BQM2

Standby

Hub2BQM2

Standby

App1 Inst5App1 Inst5

App1 Inst6App1 Inst6

App1 Inst7App1 Inst7

App1 Inst8App1 Inst8

DC2Gateway QM

DC2Gateway QM

DC2Gateway QM

Standby

DC2Gateway QM

Standby

MQ Hub1A

Hub1A QM1

Hub1A QM1

Hub1AQM1

Standby

Hub1AQM1

Standby

Hub1A QM2

Hub1A QM2

Hub1AQM2

Standby

Hub1AQM2

Standby

MQ Hub2A

App2 Inst1App2 Inst1

App2 Inst2App2 Inst2

App2 Inst3App2 Inst3

App2 Inst4App2 Inst4

Hub2A QM1

Hub2A QM1

Hub2AQM1

Standby

Hub2AQM1

Standby

Hub2A QM2

Hub2A QM2

Hub2AQM2

Standby

Hub2AQM2

Standby

App1 Inst1App1 Inst1

App1 Inst2App1 Inst2

App1 Inst3App1 Inst3

App1 Inst4App1 Inst4

DC1Gateway QM

DC1Gateway QM

DC1Gateway QM

Standby

DC1Gateway QM

Standby

DC1 DC2

Disaster RecoveryDR is a separate topic that is not covered in

this presentation

Page 13: Scalable mq topologies across project teams and admin domains

© 2013 International Business Machines Corporation 13

Feedback? Please comment via the MQdev blog

MQdev blog: https://ibm.biz/BdE2ST

Twitter: @pbmumbles @IBM_WMQ

Thank You


Recommended