SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Downloaden Sie, um offline zu lesen
© 2014 IBM Corporation
IBM Software Group WebSphere Software
Publish/Subscribe
in a network
Adrian Dick
adrian.dick@uk.ibm.com
WebSphere MQ
IBM Software Group | WebSphere software
Agenda
 The basics
 The possibilities
 The mechanics
 Compare and contrast
 Scenarios
 Problem determination
1
WebSphere MQ
IBM Software Group | WebSphere software
Distributed queuing
 We all know how point-to-point works…
QMgr
Put Get
WebSphere MQ
IBM Software Group | WebSphere software
QMgrQMgrQMgr
GetGetPut
Distributed queuing
 We all know how point-to-point works
 Even across multiple queue managers…
WebSphere MQ
IBM Software Group | WebSphere software
QMgr QMgr
GetGetPut
Distributed queuing
 We all know how point-to-point works
 Even across multiple queue managers
WebSphere MQ
IBM Software Group | WebSphere software
QMgr
Distributed publish/subscribe
QMgr
Topics
Subscription
Publisher
Subscription
Subscription
 Publications are matched to local subscriptions on a queue manager using the topic tree.
Subscription
WebSphere MQ
IBM Software Group | WebSphere software
QMgrQMgr
Topics
Subscription
SubscriptionQMgrQMgr
Topics
Publisher
QMgr
Topics
Subscription
Subscription
QMgrQMgr
Topics
Subscription
Publisher
Subscription
Subscription
Distributed publish/subscribe
 Publications are matched to local subscriptions on a queue manager using the topic tree.
 Queue managers can work together to share their
topic tree knowledge between them
WebSphere MQ
IBM Software Group | WebSphere software
QMgrQMgr
Topics
Publisher
QMgrQMgr
Topics
Subscription
QMgrQMgr
Topics
Subscription
Subscription
Distributed publish/subscribe
 Publications are matched to local subscriptions on a queue manager using the topic tree.
 Queue managers can work together to share their
topic tree knowledge between them
 Enabling publications to be propagated to
subscriptions on different queue managers
 The applications stay the same, the changes
are at the configuration level.
Subscription
WebSphere MQ
IBM Software Group | WebSphere software
Distributed publish/subscribe topologies
 Publish/subscribe topologies can either be created as a defined hierarchy
 or more dynamically as a cluster
 In both cases, publish/subscribe configuration is required…
Subscription
Publisher
Subscription
Subscription
Publisher
Subscription
Subscription
Subscription
WebSphere MQ
IBM Software Group | WebSphere software
Configuring
WebSphere MQ
IBM Software Group | WebSphere software
Hierarchies
 Hierarchies have been supported since the original WebSphere MQ publish/subscribe
broker support.
 Every queue manager defines its parent in the hierarchy.
 (except for the root queue manager)
 ALTER QMGR PARENT(QMGR1)
 Each pair of directly related queue managers must be able to connect to each other using
WebSphere MQ channels.
 Manual channels, with queue manager named transmission queues or queue manager aliases.
 They are both in the same cluster.
 By default all subscription knowledge is shared
across the hierarchy.
 No requirement to define administered topic
objects or modify applications.
 Controlled by scoping down topics.
 Subscription Scope and Publication Scope.
WebSphere MQ
IBM Software Group | WebSphere software
Hierarchies
 Once the parent relationship has been configured on the child queue
manager, both queue managers should show each other when displaying
PUBSUB status:
DISPLAY PUBSUB
1 : DISPLAY PUBSUB
AMQ8723: Display pub/sub status details.
QMNAME(QMB) TYPE(LOCAL)
AMQ8723: Display pub/sub status details.
QMNAME(QMD) TYPE(CHILD)
AMQ8723: Display pub/sub status details.
QMNAME(QMA) TYPE(PARENT)
 Additionally, informational messages will be written to each queue
manager’s logs when a relationship is established:
AMQ5964: Pub/sub hierarchy connected.
EXPLANATION: A pub/sub hierarchy connection has been established with child or parent queue manager 'QMA'.
WebSphere MQ
IBM Software Group | WebSphere software
Publish/Subscribe Clusters No additional connectivity configuration is required (that’s handled by the cluster)
 By default, no subscription knowledge is shared between members of a cluster.
Meaning no publications automatically flow between queue managers.
 Enabling distributed pub/sub in a cluster is initially achieved by clustering an administered topic
definition on one of the queue managers in the cluster.
Set the cluster name to the name of the cluster.
DEFINE TOPIC(FRUIT) TOPICSTR(‘/Price/Fruit’) CLUSTER(CLUSTER1)
Publisher
Subscription
Subscription
Subscription
WebSphere MQ
IBM Software Group | WebSphere software
Clusters
 Once a topic object has been added to a cluster every queue manager should have visibility of it.
This can be seen by displaying cluster topics on a queue manager:
DISPLAY TOPIC(*) TYPE(CLUSTER) TOPICSTR CLUSQMGR CLROUTE CLSTATE
3 : DISPLAY TOPIC(*) TYPE(CLUSTER) TOPICSTR CLUSQMGR CLROUTE CLSTATE
AMQ8633: Display topic details.
TOPIC(FRUIT) TYPE(CLUSTER)
TOPICSTR(/Price/Fruit) CLUSQMGR(QMGR2)
CLROUTE(DIRECT) CLSTATE(ACTIVE)
 The above display command includes CLROUTE and CLSTATE. These are new for WebSphere MQ
V8.
 CLROUTE is covered in the following slides.
 CLSTATE gives feedback on the current state of this cluster object. Anything other that ACTIVE implies a problem that
should be investigated.
 If the cluster topic is not visible on a queue manager, check that the cluster channels too and from
the full repositories are functioning correctly and that no errors are reported on those full
repositories, the queue manager where the topic is defined or the queue manager where the topic
was not visible.
WebSphere MQ
IBM Software Group | WebSphere software
Topic objects…
WebSphere MQ
IBM Software Group | WebSphere software
VEG
TOPICSTR(‘/Price/Vegetables’)
FRUIT
TOPICSTR(‘/Price/Fruit’)
Topics
SYSTEM.BASE.TOPIC
TOPICSTR(‘’)
Price
Fruit
Apples Oranges
Vegetables
Potatoes
/Price/Vegetables/Potatoes/Price/Fruit/Apples /Price/Fruit/Oranges
The topic tree is dynamically built as topic strings become known.
Topic objects are a point of administration associated with a node in the topic tree.
You start with a base object defined for the ‘ ’ node … the rest are optional.
 They provide hook points in the topic tree to configure specific pub/sub behaviour for a branch.
A dynamically created topic node inherits its attributes from administered topic objects
associated with topic nodes above it in the topic tree.
WebSphere MQ
IBM Software Group | WebSphere software
Topic Objects Topic objects are a point of administration for a node or sub tree in the topic tree
 SYSTEM.BASE.TOPIC is at the root of the topic tree
 An administrator can define a topic object tied to any (non wildcard) topic string
 Topic object definitions are configured in the same way as queue definitions
 They provide a ‘hook’ in the Topic Tree to configure:
 Security / access controls
 Scope (local to queue manager or global)
 …many other configurable attributes
 A dynamically created topic node inherits its attributes from administered topic objects
associated with topic nodes above it in the topic tree
 Similarly one administered topic object can be configured to inherit some attributes from others above it
 Configuring topic objects is optional
 Only define topic objects where they are needed, additional objects will only add administrative overhead
and possible confusion
WebSphere MQ
IBM Software Group | WebSphere software
FRUIT
PUB(ASPARENT)
DEFPSIST(YES)
…
Topic object attributes
Fruit
Oranges
SYSTEM.BASE.TOPIC
PUB(ENABLED)
DEFPSIST(NO)
…
Price
 Many attributes can be set on topic objects to effect a publisher or
subscriber’s behaviour.
 Topic nodes inherit their behaviour from nodes above.
Create a topic object for topic string ‘/Price/Fruit’
DEFINE TOPIC(FRUIT) TOPICSTR(‘/Price/Fruit’) DEFPSIST(YES)
Attributes default to inherit settings from above (e.g. ‘ASPARENT’).
Publish a message to topic string ‘/Price/Fruit/Oranges’
Are publications enabled?
What message persistence to use?
PUB = ?
PUB = ENABLED
PUB = ?
DEFPSIST = ?
DEFPSIST = YES
Publisher
PUB = ?ENABLED
YES
WebSphere MQ
IBM Software Group | WebSphere software
back to clusters…
WebSphere MQ
IBM Software Group | WebSphere software
Publish/Subscribe Clusters No additional connectivity configuration is required (that’s handled by the cluster)
 By default, no subscription knowledge is shared between members of a cluster.
Meaning no publications automatically flow between queue managers.
 Enabling distributed pub/sub in a cluster is initially achieved by clustering an administered topic definition
on one of the queue managers in the cluster.
Set the cluster name to the name of the cluster.
DEFINE TOPIC(FRUIT) TOPICSTR(‘/Price/Fruit’) CLUSTER(CLUSTER1)
 Every queue manager in the cluster automatically becomes aware of the clustered topic and shares
subscription knowledge for any topic strings within that branch of the topic tree.
Publications for those topic strings will now be propagated to the queue
managers in the cluster with
matching subscriptions.
No application
changes are
required.
FRUIT
TOPICSTR(‘/Price/Fruit’)
Price
Fruit
Apples Oranges
Publisher
Subscription
Subscription
Subscription
WebSphere MQ
IBM Software Group | WebSphere software
Clusters
 Publish/subscribe in clusters now has two modes of routing publications.
 DIRECT: Publications are sent directly from the publisher’s queue manager to every queue manager in the cluster with a
matching subscription.
 TOPIC HOST: Publications are routed via one or more queue managers in the cluster. These are the queue managers
where the clustered topic definitions were defined.
 DEFINE TOPIC … CLUSTER(…) CLROUTE(DIRECT|TOPICHOST)
Publisher
Subscription
Subscription
Subscription
Publisher
Subscription
Subscription
Subscription
FRUIT
V8
WebSphere MQ
IBM Software Group | WebSphere software
Cluster routing
 WebSphere MQ V8 introduces the new topic object attribute of CLROUTE
(ClusterPubRoute). This takes two values:
 DIRECT
 All queue managers in the cluster are aware of everyone else and will send publications directly
to other queue managers in the cluster with matching subscriptions. This is the default.
 TOPICHOST
 Only the queue manager(s) where the topic object is defined are aware of everyone else.
Publications are forwarded to these topic hosting queue managers, who then forward onto
queue managers with matching subscriptions.
 To use topic host routing in a cluster, the following queue managers must be at V8 or
above:
 The topic hosting queue managers
 The full repository queue managers
 The queue managers where subscriptions exist
 The queue managers where publishers connect
 Any older queue managers will not be aware of the topic host routed topic definition
and continue to behave as if it was not defined in the cluster.
WebSphere MQ
IBM Software Group | WebSphere software
Which is best?
 Should I use a hierarchy, a direct or a topic host cluster?
 It depends…
 Many factors will influence the design of a pub/sub topology:
 Number of queue managers in the topology
 Size and shape of those queue managers
 Their capacity, availability, lifetime, interconnectivity…
 Number and lifetime of subscriptions
 Number and lifetime of individual topic strings
 Publication traffic
 Distribution pattern of publications to subscribers
 …
 One size does not fit all.
 First, you need to understand more about how it works…
WebSphere MQ
IBM Software Group | WebSphere software
The mechanics
WebSphere MQ
IBM Software Group | WebSphere software
QMgrQMgr
Topics
QMgrQMgr
Topics
Subscription
/Prices/Fruit/Apples
How it works: subscription propagation
 A subscription for a topic string is created on a queue manager.
 That queue manager tells others that it is interested in that topic string.
 Those queue managers register proxy subscriptions to represent the interest.
 On a queue manager, when a message is published to the topic string, a copy of the
message is sent, over WebSphere MQ channels, to each queue manager that a proxy
subscription is held for.
 The receiving queue manager processes the message and gives a copy to each
subscription it holds (including any proxies…).
 Additional subscriptions on the same topic string do not require additional proxy
subscriptions to be flowed.
Proxy Subscription
/Prices/Fruit/Apples
Publisher
/Prices/Fruit/Apples
Subscription
/Prices/Fruit/Apples
WebSphere MQ
IBM Software Group | WebSphere software
Proxy subscriptions
 Proxy subscriptions are a special type of subscription that tells one queue manager that another
queue manager needs a copy of any matching publications to be sent to it.
 Proxy subscriptions can be viewed on a queue manager using MQSC or MQ Explorer. This shows
which queue managers will receive a publication for which topic.
DISPLAY SUB(*) SUBTYPE(PROXY) TOPICSTR DESTQMGR
AMQ8096: WebSphere MQ subscription inquired.
SUBID(414D5120514D4752312020202020202021123C5320000E02)
SUB(SYSTEM.PROXY.QMGR2 CLUSTER1 /X/Y) TOPICSTR(/X/Y)
DESTQMGR(QMGR2) SUBTYPE(PROXY)
AMQ8096: WebSphere MQ subscription inquired.
SUBID(414D5120514D4752312020202020202021123C5320000E05)
SUB(SYSTEM.PROXY.QMGR2 CLUSTER1 /X/Z) TOPICSTR(/X/Z)
DESTQMGR(QMGR2) SUBTYPE(PROXY)
 If a queue manager has multiple subscriptions to the same topic string only a single proxy
subscription is generated.
 Proxy subscriptions do not include any selectors set on the subscription.
WebSphere MQ
IBM Software Group | WebSphere software
How it works: in a hierarchy
 Proxy subscriptions are sent from a queue manager to every directly connected queue
manager in the hierarchy.
 They in turn send proxy subscriptions onto any further relations.
 Until everyone in the hierarchy is aware of the topic string being subscribed to.
 Publications are then sent back down the path of proxy subscriptions.
Publisher
Subscription
Proxy
Proxy
Proxy
ProxyProxy
Subscription
Proxy
Proxy
WebSphere MQ
IBM Software Group | WebSphere software
FRUIT
How it works: Direct routed clustered topics
 Proxy subscriptions are sent from a subscribing queue manager to every other queue
manager in the cluster.
 Every queue manager is aware of everyone else in the cluster.
 Any publication from a queue manager is sent directly to those queue managers
which sent proxy subscriptions.
Publisher
Subscription
ProxyProxyProxyProxyProxy
Subscription
ProxyProxyProxyProxyProxy
WebSphere MQ
IBM Software Group | WebSphere software
How it works: Topic host routed clustered
topics
 Proxy subscriptions are sent from a subscribing queue manager only to queue
managers that host a definition of the clustered topic.
 Only the topic hosts are aware of everyone else.
 Any publication from a queue manager is always sent to one of the topic hosts, who
then forwards the message to any subscribing queue managers.
Publisher
Subscription
Proxy
Subscription
Proxy
FRUIT
V8
WebSphere MQ
IBM Software Group | WebSphere software
Side-by-side
WebSphere MQ
IBM Software Group | WebSphere software
Side-by-side: scaling
 Channel connectivity is restricted in both topic host routed clusters and hierarchies.
 Direct routed clusters will result in many queue manager channels being established, even to queue
managers with no publishers or subscribers.
 This can be a concern for large clusters.
 Hierarchies and direct routed clusters share subscription knowledge across all queue managers.
PublisherSubscription
Subscription
Publisher
Subscription
Subscription
Publisher
Subscription
Subscription
Topic
Hierarchy
Direct Cluster
Topic host cluster
WebSphere MQ
IBM Software Group | WebSphere software
Side-by-side: publication flows
 Direct routed clusters ensure publications take the shortest path between publishers and
subscribers.
 Topic host routed clusters can introduce an additional hop, with hierarchies relying on
even more.
 In both of these, careful placing of subscribers and publishers can achieve the same single-hop route that
direct clusters provides.
PublisherSubscription
Subscription
Publisher
Subscription
Subscription
Publisher
Subscription
Subscription
Topic
Hierarchy:1,2,3… hops
Direct Cluster: 1 hop
Topic host cluster: 1 or 2 hops
WebSphere MQ
IBM Software Group | WebSphere software
Side-by-side: configuration
 Hierarchies require fine grain planning and configuration of queue managers.
 Harder to alter the hierarchical structure.
 Clusters allow queue managers to join and leave without too much consideration once
the overall plan is defined.
 Careful planning of topic host routers is required.
PublisherSubscription
Subscription
Publisher
Subscription
Subscription
Publisher
Subscription
Subscription
Topic
Hierarchy
Direct Cluster
Topic host cluster
WebSphere MQ
IBM Software Group | WebSphere software
Side-by-side: availability
 An unavailable queue manager in a hierarchy can cut off many others.
 In a direct routed cluster it’ll only affect the subscribers and publishers on that queue manager.
 In a topic host routed cluster it can affect more if the queue manager hosts a topic definition.
 But this can be avoided…
PublisherSubscription
Subscription
Publisher
Subscription
Subscription
Publisher
Subscription
Subscription
Topic
Hierarchy
Direct Cluster
Topic host cluster
WebSphere MQ
IBM Software Group | WebSphere software
Side-by-side: availability
Publisher
Subscription
Subscription
Topic
Topic host cluster
PublisherSubscription
Subscription
Publisher
Subscription
Subscription
Hierarchy
Direct Cluster
 An unavailable queue manager in a hierarchy can cut off many others.
 In a direct routed cluster it’ll only affect the subscribers and publishers on that queue
manager.
 In a topic host routed cluster it can affect more if the queue manager hosts topics, but
this can be avoided…
WebSphere MQ
IBM Software Group | WebSphere software
VEG
TOPICSTR(‘/Price/Vegetables’)
Topic host routing
 Multiple queue managers can host the same clustered topic.
 With the same name, topic string, etc.
 Publications are routed based on availability and workload balancing.
 This increases availability and scalability of routes.
 Multiple topic hosts for a topic enable workload balancing of publication traffic.
 Publications will no longer maintain their relative order.
 Hosting different topics on different queue
managers can also be used to
increase availability
and scaling.
Publisher
Subscription
Proxy
Subscription
Proxy
FRUIT
FRUIT
Proxy
Proxy
VEG
FRUIT
TOPICSTR(‘/Price/Fruit’)
Price
Fruit
Apples Oranges
Vegetables
Potatoes
WebSphere MQ
IBM Software Group | WebSphere software
Comparison summary
 Scaling
 Topic host routed clusters provide the best options for scaling.
 Availability
 Clusters can be configured to avoid single points of failures, unlike hierarchies.
 Publication performance
 All topologies use very similar inter queue manager techniques for transferring
messages, and each can be designed to minimise routes between queue managers.
 Configuration
 Clustering is the most dynamic and simplest solution – especially where clusters are
already in use.
WebSphere MQ
IBM Software Group | WebSphere software
Scenarios
Putting it into practice
WebSphere MQ
IBM Software Group | WebSphere software
 A couple of dozen queue managers.
 Administratively created subscriptions for each major application, perhaps a hundred,
with different topics, rarely changing.
 Publishers and subscriptions spread across the most queue managers.
 Simplest to create, is a cluster with direct routed topics.
‘A bit of pub/sub’
Topic
WebSphere MQ
IBM Software Group | WebSphere software
 A thousand queue managers, all talking to a few in HQ, but rarely to each other.
 Each with its own subscriptions and publishers.
 Do not use a direct cluster topic!
A big ‘hub and spoke’ cluster
WebSphere MQ
IBM Software Group | WebSphere software
 A thousand queue managers, all talking to a few in HQ, but rarely to each other.
 Each with its own subscriptions and publishers.
 Do not use a direct cluster topic!
 Use topic host routed clustered topics, possibly on a dedicated set of routing queue managers, sized to
take the load.
A big ‘hub and spoke’ cluster
WebSphere MQ
IBM Software Group | WebSphere software
 An existing cluster containing hundreds or thousands of queue managers. Each
connected to a few others in the cluster, as required.
 A few applications need to support inter queue manager pub/sub on a handful of queue
managers.
 It is best not to create a direct routed clustered topic in that cluster.
 This would result in all queue managers learning of each other.
A small amount of pub/sub within a much larger
cluster
WebSphere MQ
IBM Software Group | WebSphere software
 One solution is to create a dedicated overlaid cluster for the queue managers requiring
publish/subscribe and clustering a direct topic.
 Optionally use PSCLUS to prevent clustered topic definitions being created in the wider cluster.
A small amount of pub/sub within a much larger
cluster
V7.1
WebSphere MQ
IBM Software Group | WebSphere software
 Alternatively, create a hierarchy and don’t cluster the topic
 Use PSCLUS to prevent clustered topic definitions being created
A small amount of pub/sub within a much larger
cluster
V7.1
WebSphere MQ
IBM Software Group | WebSphere software
 Or use a topic host routed clustered topic.
 All queue managers become aware of the topic but only those using it will communicate with the topic
host queue manager(s).
 The topic hosting queue managers may need to communicate with all other queue managers under
certain error circumstances.
A small amount of pub/sub within a much larger
cluster
WebSphere MQ
IBM Software Group | WebSphere software
 Thousands of loosely connected dynamic subscriptions, on thousands of different topic
strings, continually coming and going, along with corresponding publishers.
 A few queue managers to provide availability and subscription load sharing.
 This introduces a special problem….
 Proxy subscription ‘churn’
A very dynamic setup
WebSphere MQ
IBM Software Group | WebSphere software
Subscription propagation or publication
broadcast?
 Some scenarios mean the benefits of a subscription propagation model start to be
eclipsed by the overheads.
 A large set of fast changing subscriptions can result in proxy subscription churn.
 Proxy subscriptions have a per topic string granularity.
 Proxy subscription propagation is asynchronous.
 The delay can become a problem.
 An alternative is to broadcast publications across multiple queue managers on
the expectation that subscriptions will exist.
 No need to propagate the per topic string proxy subscriptions.
 Potentially extra publication load (every queue manager sees every publication).
 Broadcast mode is enabled through the use of setting the Proxy Subscription
attribute to Force on an administered topic object.
V8 Improved in WebSphere MQ V8
WebSphere MQ
IBM Software Group | WebSphere software
Subscription propagation or publication
broadcast?
 When considering the load on the system from the proxy subscription traffic monitor the following
queues.
 The SYSTEM.INTER.QMGR.FANREQ queue on the subscriber queue manager.
 The SYSTEM.INTER.QMGR.CONTROL queue on all other queue managers in the cluster.
 Any significant message backlog on these queues implies that either the rate of subscription change is
too great for the system or a queue manager is not correctly functioning in the cluster.
 When PROXYSUB is set to FORCE on a WebSphere MQ V8 queue manager, the wildcarded proxy
subscription covering all sub-topics will be generated and no subsequent proxy subscriptions will be
generated.
 Prior to WebSphere MQ V8, setting PROXYSUB to FORCE for a topic will generate the wildcarded proxy
subscription in advance but it will not stop the individual proxy subscriptions being created for each
newly subscribed topic.
 This can be achieved in a coarse grain way using the pscProxySubFlags tuning parameter, as documented in the info center.
WebSphere MQ
IBM Software Group | WebSphere software
 Setting proxy subscription to force generates a wildcarded proxy subscription on all queue managers
where that topic is seen.
 All queue managers when in a cluster.
 Only the queue manager where it is defined when in a hierarchy.
 Once that is in place there is not a need for individual proxy subscriptions for any sub-topic string.*
 Every publication is sent to every queue manager and onto the subscriptions.
 If no local subscriptions exist for a publication, it is simply discarded.
Publication broadcast
TOPIC
TOPICSTR(‘/Orders’)
PROXYSUB(FORCE) /Orders/#
/Orders/#
/Orders/#
/Orders/#
/Orders/#
/Orders/#
*This is automatic in WebSphere MQ V8, but requires intervention prior to this
WebSphere MQ
IBM Software Group | WebSphere software
 When we need a point-to-point application to be continuously available we can cluster
and duplicate its request queue.
 How do we get the same with a publish/subscribe application?....
The continuously available point-to-point
application
App
RequestorRequestorRequestor
App
WebSphere MQ
IBM Software Group | WebSphere software
The continuously available subscription
 The aim is to configure the system so that an application that processes publications can
run multiple instances, across multiple queue managers.
 The instinct is to cluster the topic and duplicate the subscription.
 This is not the solution, it will lead to multiple copies of each
publication
App
PublisherPublisherPublisher
App
TOPIC
CLUSTER(CLUSTER1)
Subscription Subscription
WebSphere MQ
IBM Software Group | WebSphere software
The continuously available subscription
 Don’t define the topic as clustered (this is really important).
 Instead, configure matching clustered queues, as for point-to-point.
 Administratively define the same subscription on every queue manager where a publisher
can connect.
 Point those subscriptions at the cluster queue
 Publish to the topic, and consume from the queues…
App
PublisherPublisherPublisher
App
Subscription Subscription Subscription
WebSphere MQ
IBM Software Group | WebSphere software
Controlling a subscription’s specific queue
 Manually create the subscription through administration
 For example, using runmqsc:
DEFINE SUB(…) TOPICSTR(‘…’) DEST(name of queue) DESTQMGR(location of queue) …
 Programmatically create the subscription
 Through certain APIs
 For example MQI, using the MQSUB verb
 Not supported with JMS
 Through programmatically sending an administrative command
 By generating an MQCMD_CREATE_SUBSCRIPTION PCF command message
 Through the queued publish/subscribe mechanism
 Matches the pre MQ V7 model of sending subscription registration messages
(MQPS_REGISTER_SUBSCRIBER) to a queue manager
 Provided for compatibility with pre-V7 systems
WebSphere MQ
IBM Software Group | WebSphere software
Tips and tricks
WebSphere MQ
IBM Software Group | WebSphere software
Problem determination
 Double check your configuration
 Remember that topic objects inherit behaviour from higher topic nodes, this can affect how lower topics behave.
Especially for things like SUBSCOPE and PUBSCOPE.
 When in a cluster, check each queue manager’s cluster knowledge.
 Use DISPLAY TOPIC(*) TYPE(CLUSTER)
 From V8, check the CLSTATE to see if problems exist (see the info center for more details).
 When in a hierarchy, check your relationships.
 Use DISPLAY PUBSUB
 Check the error logs.
 It may be obvious but check the error logs of the queue managers with publishers and subscribers, and full repository
queue managers, and any in between (topic hosts or hierarchy members).
 Check your channels.
 If the channels to and from the queue managers are not running, publication traffic, proxy subscriptions, topic
configuration (clusters) or relationships (hierarchies) will not flow.
 Check your proxy subscriptions on each queue manager.
 Use DISPLAY SUB(*) SUBTYPE(PROXY)
 Check your topic status.
 Use DISPLAY TPSTATUS( ) to show how a topic string will behave, this takes into account any administered topic
objects that relate to it in the topic tree.
V8
WebSphere MQ
IBM Software Group | WebSphere software
Problem determination
 Watch for publication movement.
 Publications may be flowing, but not noticed.
 Check the NUMMSGS value on the proxy subscriptions using DISPLAY SBSTATUS( ) to see if
publications have been sent to the originator of the proxy subscription.
 Check the MSGS value on the channels to see if they are flowing using DISPLAY CHSTATUS( )
 Look for a build up of messages.
 In the event of problems, messages can build up on system queues. These may be because the system
is producing messages too quickly or an error has occurred. Investigate to see if messages are still being
processed, but slowly, or no messages are processed.
 Queues which should be empty under normal running are:
 SYSTEM.INTER.QMGR.PUBS (clusters)
– Publications arriving from remote queue managers
 SYSTEM.INTER.QMGR.FANREQ (clusters)
– Requests to send proxy subscriptions
 SYSTEM.INTER.QMGR.CONTROL (clusters)
– Requests from other queue managers to register proxy subscriptions
 SYSTEM.CLUSTER.TRANSMIT.QUEUE (or any other transmission queue involved)
– All inter queue manager outbound messages
 SYSTEM.BROKER.DEFAULT.STREAM (hierarchies)
– Publications arriving from remote queue managers (and local ‘queued’ pub/sub applications)
 SYSTEM.BROKER.CONTROL.QUEUE
– Requests to register/deregister subscriptions
 SYSTEM.BROKER.INTER.BROKER.COMMUNICATIONS (hierarchies)
– Requests from other queue managers in the hierarchy.
 Don’t forget the dead letter queue
WebSphere MQ
IBM Software Group | WebSphere software
Performance
 Distributing publishers and subscribers does cost in latency.
 Keep high intensity publishers and subscribers together.
 Or at least minimise their routes.
 But it does enable horizontal scaling.
 Try to remove bottlenecks by having multiple subscription locations and routes to
maximise throughput.
 Maximising throughput.
 Message ordering is your enemy.
 Multiple routes are possible at multiple levels:
 Routing queue managers when using topic host routing.
– Ideally for the same topics, but even across different topics can improve throughput.
 Multiple cluster channels when using any clustering.
 Multiple queue manager threads when processing inter-queue manager traffic.
 Don’t forget to consider the subscription and channel overheads.
WebSphere MQ
IBM Software Group | WebSphere software
Performance
 Check out the WebSphere MQ V7.5 Publish/Subscribe performance report.
 SupportPac MP0C
 (Found at http://www.ibm.com/support/docview.wss?uid=swg24033638 at the time of writing!)
© 2014 IBM Corporation
IBM Software Group WebSphere Software
Thank You
WebSphere MQ
IBM Software Group | WebSphere software
Legal Disclaimer
• © IBM Corporation 2014. All Rights Reserved.
• The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this
publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM
without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to,
nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use
of IBM software.
• References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities
referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature
availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue
growth or other results.
• All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance
characteristics may vary by customer.

Weitere ähnliche Inhalte

Was ist angesagt?

Controlling Message Flow - Mule ESB
Controlling Message Flow - Mule ESBControlling Message Flow - Mule ESB
Controlling Message Flow - Mule ESBMani Rathnam Gudi
 
Do we need JMS in 21st century?
Do we need JMS in 21st century?Do we need JMS in 21st century?
Do we need JMS in 21st century?Mikalai Alimenkou
 
Mule expression component
Mule expression componentMule expression component
Mule expression componentKarnam Karthik
 
Messaging With Apache ActiveMQ
Messaging With Apache ActiveMQMessaging With Apache ActiveMQ
Messaging With Apache ActiveMQBruce Snyder
 
Breakpoints made simple (well simpler) using SCSS
Breakpoints made simple (well simpler) using SCSSBreakpoints made simple (well simpler) using SCSS
Breakpoints made simple (well simpler) using SCSSDamian Keeghan
 
Apache ActiveMQ and Apache ServiceMix
Apache ActiveMQ and Apache ServiceMixApache ActiveMQ and Apache ServiceMix
Apache ActiveMQ and Apache ServiceMixBruce Snyder
 
Mule threading profile & processing strategy
Mule threading profile & processing strategyMule threading profile & processing strategy
Mule threading profile & processing strategychetan singhal
 

Was ist angesagt? (9)

Controlling Message Flow - Mule ESB
Controlling Message Flow - Mule ESBControlling Message Flow - Mule ESB
Controlling Message Flow - Mule ESB
 
Do we need JMS in 21st century?
Do we need JMS in 21st century?Do we need JMS in 21st century?
Do we need JMS in 21st century?
 
Mule expression component
Mule expression componentMule expression component
Mule expression component
 
Messaging With Apache ActiveMQ
Messaging With Apache ActiveMQMessaging With Apache ActiveMQ
Messaging With Apache ActiveMQ
 
Breakpoints made simple (well simpler) using SCSS
Breakpoints made simple (well simpler) using SCSSBreakpoints made simple (well simpler) using SCSS
Breakpoints made simple (well simpler) using SCSS
 
Mule TCP Component
Mule TCP ComponentMule TCP Component
Mule TCP Component
 
Apache ActiveMQ and Apache ServiceMix
Apache ActiveMQ and Apache ServiceMixApache ActiveMQ and Apache ServiceMix
Apache ActiveMQ and Apache ServiceMix
 
Messaging in Java
Messaging in JavaMessaging in Java
Messaging in Java
 
Mule threading profile & processing strategy
Mule threading profile & processing strategyMule threading profile & processing strategy
Mule threading profile & processing strategy
 

Ähnlich wie IBM Publish Subscribe in a Network

IBM MQ: Using Publish/Subscribe in an MQ Network
IBM MQ: Using Publish/Subscribe in an MQ NetworkIBM MQ: Using Publish/Subscribe in an MQ Network
IBM MQ: Using Publish/Subscribe in an MQ NetworkDavid Ware
 
IBM WebSphere MQ: Using Publish/Subscribe in an MQ Network
IBM WebSphere MQ: Using Publish/Subscribe in an MQ NetworkIBM WebSphere MQ: Using Publish/Subscribe in an MQ Network
IBM WebSphere MQ: Using Publish/Subscribe in an MQ NetworkDavid Ware
 
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & PartitioningApache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & PartitioningGuido Schmutz
 
Apache Kafka Women Who Code Meetup
Apache Kafka Women Who Code MeetupApache Kafka Women Who Code Meetup
Apache Kafka Women Who Code MeetupSnehal Nagmote
 
B2 2006 tomcat_clusters
B2 2006 tomcat_clustersB2 2006 tomcat_clusters
B2 2006 tomcat_clustersSteve Feldman
 
Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Vinay Kumar
 
Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Vinay Kumar
 
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMESet your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMEconfluent
 
IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation khawkwf
 
Removing performance bottlenecks with Kafka Monitoring and topic configuration
Removing performance bottlenecks with Kafka Monitoring and topic configurationRemoving performance bottlenecks with Kafka Monitoring and topic configuration
Removing performance bottlenecks with Kafka Monitoring and topic configurationKnoldus Inc.
 
Introduction to LAVA Workload Scheduler
Introduction to LAVA Workload SchedulerIntroduction to LAVA Workload Scheduler
Introduction to LAVA Workload SchedulerNopparat Nopkuat
 
Our way to microservices
Our way to microservicesOur way to microservices
Our way to microservicesAndi Pangeran
 
Kafka-and-event-driven-architecture-OGYatra20.ppt
Kafka-and-event-driven-architecture-OGYatra20.pptKafka-and-event-driven-architecture-OGYatra20.ppt
Kafka-and-event-driven-architecture-OGYatra20.pptInam Bukhary
 
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...Jitendra Bafna
 
IBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ ClustersIBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ ClustersIBM Systems UKI
 
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~Brocade
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Guido Schmutz
 
No Surprises Geo Replication - Pulsar Virtual Summit Europe 2021
No Surprises Geo Replication - Pulsar Virtual Summit Europe 2021No Surprises Geo Replication - Pulsar Virtual Summit Europe 2021
No Surprises Geo Replication - Pulsar Virtual Summit Europe 2021StreamNative
 
Apache Pulsar Seattle - Meetup
Apache Pulsar Seattle - MeetupApache Pulsar Seattle - Meetup
Apache Pulsar Seattle - MeetupKarthik Ramasamy
 

Ähnlich wie IBM Publish Subscribe in a Network (20)

IBM MQ: Using Publish/Subscribe in an MQ Network
IBM MQ: Using Publish/Subscribe in an MQ NetworkIBM MQ: Using Publish/Subscribe in an MQ Network
IBM MQ: Using Publish/Subscribe in an MQ Network
 
IBM WebSphere MQ: Using Publish/Subscribe in an MQ Network
IBM WebSphere MQ: Using Publish/Subscribe in an MQ NetworkIBM WebSphere MQ: Using Publish/Subscribe in an MQ Network
IBM WebSphere MQ: Using Publish/Subscribe in an MQ Network
 
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & PartitioningApache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
 
Apache Kafka Women Who Code Meetup
Apache Kafka Women Who Code MeetupApache Kafka Women Who Code Meetup
Apache Kafka Women Who Code Meetup
 
WM2011G19.pdf
WM2011G19.pdfWM2011G19.pdf
WM2011G19.pdf
 
B2 2006 tomcat_clusters
B2 2006 tomcat_clustersB2 2006 tomcat_clusters
B2 2006 tomcat_clusters
 
Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20
 
Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20
 
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMESet your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
 
IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation
 
Removing performance bottlenecks with Kafka Monitoring and topic configuration
Removing performance bottlenecks with Kafka Monitoring and topic configurationRemoving performance bottlenecks with Kafka Monitoring and topic configuration
Removing performance bottlenecks with Kafka Monitoring and topic configuration
 
Introduction to LAVA Workload Scheduler
Introduction to LAVA Workload SchedulerIntroduction to LAVA Workload Scheduler
Introduction to LAVA Workload Scheduler
 
Our way to microservices
Our way to microservicesOur way to microservices
Our way to microservices
 
Kafka-and-event-driven-architecture-OGYatra20.ppt
Kafka-and-event-driven-architecture-OGYatra20.pptKafka-and-event-driven-architecture-OGYatra20.ppt
Kafka-and-event-driven-architecture-OGYatra20.ppt
 
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
 
IBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ ClustersIBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ Clusters
 
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !
 
No Surprises Geo Replication - Pulsar Virtual Summit Europe 2021
No Surprises Geo Replication - Pulsar Virtual Summit Europe 2021No Surprises Geo Replication - Pulsar Virtual Summit Europe 2021
No Surprises Geo Replication - Pulsar Virtual Summit Europe 2021
 
Apache Pulsar Seattle - Meetup
Apache Pulsar Seattle - MeetupApache Pulsar Seattle - Meetup
Apache Pulsar Seattle - Meetup
 

Mehr von IBM Systems UKI

PureApp Hybrid Cloud Jonathan Langley Presentation 11th September 2014
PureApp Hybrid Cloud Jonathan Langley Presentation 11th September 2014PureApp Hybrid Cloud Jonathan Langley Presentation 11th September 2014
PureApp Hybrid Cloud Jonathan Langley Presentation 11th September 2014IBM Systems UKI
 
PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014
PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014
PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014IBM Systems UKI
 
PureSystems Summary and Actions, John Kaemmerer and Gerry Novan, 11th Sept 14
PureSystems Summary and Actions, John Kaemmerer and Gerry Novan, 11th Sept 14PureSystems Summary and Actions, John Kaemmerer and Gerry Novan, 11th Sept 14
PureSystems Summary and Actions, John Kaemmerer and Gerry Novan, 11th Sept 14IBM Systems UKI
 
PureSystems on the Private Cloud, John Kaemmerer and Gerry Novan, 11th Sept 14
PureSystems on the Private Cloud, John Kaemmerer and Gerry Novan, 11th Sept 14PureSystems on the Private Cloud, John Kaemmerer and Gerry Novan, 11th Sept 14
PureSystems on the Private Cloud, John Kaemmerer and Gerry Novan, 11th Sept 14IBM Systems UKI
 
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...IBM Systems UKI
 
Introduction to Pure, John Kaemmerer and Gerry Kovan
Introduction to Pure, John Kaemmerer and Gerry KovanIntroduction to Pure, John Kaemmerer and Gerry Kovan
Introduction to Pure, John Kaemmerer and Gerry KovanIBM Systems UKI
 
PureSystems on the Public Cloud John Kaemmerer and Gerry Novan, 11th Sep 14
PureSystems on the Public Cloud John Kaemmerer and Gerry Novan, 11th Sep 14PureSystems on the Public Cloud John Kaemmerer and Gerry Novan, 11th Sep 14
PureSystems on the Public Cloud John Kaemmerer and Gerry Novan, 11th Sep 14IBM Systems UKI
 
Savio Rodrigues - Cloud Enable Your Ent App - 11th September
Savio Rodrigues - Cloud Enable Your Ent App - 11th SeptemberSavio Rodrigues - Cloud Enable Your Ent App - 11th September
Savio Rodrigues - Cloud Enable Your Ent App - 11th SeptemberIBM Systems UKI
 
Andrew Darley Presentation - Pure Future is Hybrid Cloud (London 11th September)
Andrew Darley Presentation - Pure Future is Hybrid Cloud (London 11th September)Andrew Darley Presentation - Pure Future is Hybrid Cloud (London 11th September)
Andrew Darley Presentation - Pure Future is Hybrid Cloud (London 11th September)IBM Systems UKI
 
Icon solutions presentation - Pure Hybrid Cloud Event, 11th September London
Icon solutions presentation - Pure Hybrid Cloud Event, 11th September LondonIcon solutions presentation - Pure Hybrid Cloud Event, 11th September London
Icon solutions presentation - Pure Hybrid Cloud Event, 11th September LondonIBM Systems UKI
 
IBM MQ Light Service for Bluemix
IBM MQ Light Service for BluemixIBM MQ Light Service for Bluemix
IBM MQ Light Service for BluemixIBM Systems UKI
 
IBM How to Develop Responsive Applications
IBM How to Develop Responsive ApplicationsIBM How to Develop Responsive Applications
IBM How to Develop Responsive ApplicationsIBM Systems UKI
 
IBM Latest Features Deep Dive
IBM Latest Features Deep DiveIBM Latest Features Deep Dive
IBM Latest Features Deep DiveIBM Systems UKI
 
IBM Performance and Accounting
IBM Performance and AccountingIBM Performance and Accounting
IBM Performance and AccountingIBM Systems UKI
 
IBM Intro to Using MQ with WAS and Liberty
IBM Intro to Using MQ with WAS and LibertyIBM Intro to Using MQ with WAS and Liberty
IBM Intro to Using MQ with WAS and LibertyIBM Systems UKI
 
IBM MQ Channel Authentication
IBM MQ Channel AuthenticationIBM MQ Channel Authentication
IBM MQ Channel AuthenticationIBM Systems UKI
 
IBM MQ Security Deep Dive
IBM MQ Security Deep DiveIBM MQ Security Deep Dive
IBM MQ Security Deep DiveIBM Systems UKI
 

Mehr von IBM Systems UKI (19)

PureApp Hybrid Cloud Jonathan Langley Presentation 11th September 2014
PureApp Hybrid Cloud Jonathan Langley Presentation 11th September 2014PureApp Hybrid Cloud Jonathan Langley Presentation 11th September 2014
PureApp Hybrid Cloud Jonathan Langley Presentation 11th September 2014
 
PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014
PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014
PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014
 
PureSystems Summary and Actions, John Kaemmerer and Gerry Novan, 11th Sept 14
PureSystems Summary and Actions, John Kaemmerer and Gerry Novan, 11th Sept 14PureSystems Summary and Actions, John Kaemmerer and Gerry Novan, 11th Sept 14
PureSystems Summary and Actions, John Kaemmerer and Gerry Novan, 11th Sept 14
 
PureSystems on the Private Cloud, John Kaemmerer and Gerry Novan, 11th Sept 14
PureSystems on the Private Cloud, John Kaemmerer and Gerry Novan, 11th Sept 14PureSystems on the Private Cloud, John Kaemmerer and Gerry Novan, 11th Sept 14
PureSystems on the Private Cloud, John Kaemmerer and Gerry Novan, 11th Sept 14
 
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
 
Introduction to Pure, John Kaemmerer and Gerry Kovan
Introduction to Pure, John Kaemmerer and Gerry KovanIntroduction to Pure, John Kaemmerer and Gerry Kovan
Introduction to Pure, John Kaemmerer and Gerry Kovan
 
PureSystems on the Public Cloud John Kaemmerer and Gerry Novan, 11th Sep 14
PureSystems on the Public Cloud John Kaemmerer and Gerry Novan, 11th Sep 14PureSystems on the Public Cloud John Kaemmerer and Gerry Novan, 11th Sep 14
PureSystems on the Public Cloud John Kaemmerer and Gerry Novan, 11th Sep 14
 
Savio Rodrigues - Cloud Enable Your Ent App - 11th September
Savio Rodrigues - Cloud Enable Your Ent App - 11th SeptemberSavio Rodrigues - Cloud Enable Your Ent App - 11th September
Savio Rodrigues - Cloud Enable Your Ent App - 11th September
 
Andrew Darley Presentation - Pure Future is Hybrid Cloud (London 11th September)
Andrew Darley Presentation - Pure Future is Hybrid Cloud (London 11th September)Andrew Darley Presentation - Pure Future is Hybrid Cloud (London 11th September)
Andrew Darley Presentation - Pure Future is Hybrid Cloud (London 11th September)
 
Icon solutions presentation - Pure Hybrid Cloud Event, 11th September London
Icon solutions presentation - Pure Hybrid Cloud Event, 11th September LondonIcon solutions presentation - Pure Hybrid Cloud Event, 11th September London
Icon solutions presentation - Pure Hybrid Cloud Event, 11th September London
 
IBM MQ Light Service for Bluemix
IBM MQ Light Service for BluemixIBM MQ Light Service for Bluemix
IBM MQ Light Service for Bluemix
 
IBM How to Develop Responsive Applications
IBM How to Develop Responsive ApplicationsIBM How to Develop Responsive Applications
IBM How to Develop Responsive Applications
 
IBM Latest Features Deep Dive
IBM Latest Features Deep DiveIBM Latest Features Deep Dive
IBM Latest Features Deep Dive
 
IBM Performance and Accounting
IBM Performance and AccountingIBM Performance and Accounting
IBM Performance and Accounting
 
IBM Intro to Using MQ with WAS and Liberty
IBM Intro to Using MQ with WAS and LibertyIBM Intro to Using MQ with WAS and Liberty
IBM Intro to Using MQ with WAS and Liberty
 
IBM MQ V8 annd JMS 2.0
IBM MQ V8 annd JMS 2.0IBM MQ V8 annd JMS 2.0
IBM MQ V8 annd JMS 2.0
 
IBM MQ Channel Authentication
IBM MQ Channel AuthenticationIBM MQ Channel Authentication
IBM MQ Channel Authentication
 
IBM MQ Security Deep Dive
IBM MQ Security Deep DiveIBM MQ Security Deep Dive
IBM MQ Security Deep Dive
 
IBM What's New in MQ V8
IBM What's New in MQ V8IBM What's New in MQ V8
IBM What's New in MQ V8
 

Kürzlich hochgeladen

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...masabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburgmasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationShrmpro
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 

Kürzlich hochgeladen (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 

IBM Publish Subscribe in a Network

  • 1. © 2014 IBM Corporation IBM Software Group WebSphere Software Publish/Subscribe in a network Adrian Dick adrian.dick@uk.ibm.com
  • 2. WebSphere MQ IBM Software Group | WebSphere software Agenda  The basics  The possibilities  The mechanics  Compare and contrast  Scenarios  Problem determination 1
  • 3. WebSphere MQ IBM Software Group | WebSphere software Distributed queuing  We all know how point-to-point works… QMgr Put Get
  • 4. WebSphere MQ IBM Software Group | WebSphere software QMgrQMgrQMgr GetGetPut Distributed queuing  We all know how point-to-point works  Even across multiple queue managers…
  • 5. WebSphere MQ IBM Software Group | WebSphere software QMgr QMgr GetGetPut Distributed queuing  We all know how point-to-point works  Even across multiple queue managers
  • 6. WebSphere MQ IBM Software Group | WebSphere software QMgr Distributed publish/subscribe QMgr Topics Subscription Publisher Subscription Subscription  Publications are matched to local subscriptions on a queue manager using the topic tree. Subscription
  • 7. WebSphere MQ IBM Software Group | WebSphere software QMgrQMgr Topics Subscription SubscriptionQMgrQMgr Topics Publisher QMgr Topics Subscription Subscription QMgrQMgr Topics Subscription Publisher Subscription Subscription Distributed publish/subscribe  Publications are matched to local subscriptions on a queue manager using the topic tree.  Queue managers can work together to share their topic tree knowledge between them
  • 8. WebSphere MQ IBM Software Group | WebSphere software QMgrQMgr Topics Publisher QMgrQMgr Topics Subscription QMgrQMgr Topics Subscription Subscription Distributed publish/subscribe  Publications are matched to local subscriptions on a queue manager using the topic tree.  Queue managers can work together to share their topic tree knowledge between them  Enabling publications to be propagated to subscriptions on different queue managers  The applications stay the same, the changes are at the configuration level. Subscription
  • 9. WebSphere MQ IBM Software Group | WebSphere software Distributed publish/subscribe topologies  Publish/subscribe topologies can either be created as a defined hierarchy  or more dynamically as a cluster  In both cases, publish/subscribe configuration is required… Subscription Publisher Subscription Subscription Publisher Subscription Subscription Subscription
  • 10. WebSphere MQ IBM Software Group | WebSphere software Configuring
  • 11. WebSphere MQ IBM Software Group | WebSphere software Hierarchies  Hierarchies have been supported since the original WebSphere MQ publish/subscribe broker support.  Every queue manager defines its parent in the hierarchy.  (except for the root queue manager)  ALTER QMGR PARENT(QMGR1)  Each pair of directly related queue managers must be able to connect to each other using WebSphere MQ channels.  Manual channels, with queue manager named transmission queues or queue manager aliases.  They are both in the same cluster.  By default all subscription knowledge is shared across the hierarchy.  No requirement to define administered topic objects or modify applications.  Controlled by scoping down topics.  Subscription Scope and Publication Scope.
  • 12. WebSphere MQ IBM Software Group | WebSphere software Hierarchies  Once the parent relationship has been configured on the child queue manager, both queue managers should show each other when displaying PUBSUB status: DISPLAY PUBSUB 1 : DISPLAY PUBSUB AMQ8723: Display pub/sub status details. QMNAME(QMB) TYPE(LOCAL) AMQ8723: Display pub/sub status details. QMNAME(QMD) TYPE(CHILD) AMQ8723: Display pub/sub status details. QMNAME(QMA) TYPE(PARENT)  Additionally, informational messages will be written to each queue manager’s logs when a relationship is established: AMQ5964: Pub/sub hierarchy connected. EXPLANATION: A pub/sub hierarchy connection has been established with child or parent queue manager 'QMA'.
  • 13. WebSphere MQ IBM Software Group | WebSphere software Publish/Subscribe Clusters No additional connectivity configuration is required (that’s handled by the cluster)  By default, no subscription knowledge is shared between members of a cluster. Meaning no publications automatically flow between queue managers.  Enabling distributed pub/sub in a cluster is initially achieved by clustering an administered topic definition on one of the queue managers in the cluster. Set the cluster name to the name of the cluster. DEFINE TOPIC(FRUIT) TOPICSTR(‘/Price/Fruit’) CLUSTER(CLUSTER1) Publisher Subscription Subscription Subscription
  • 14. WebSphere MQ IBM Software Group | WebSphere software Clusters  Once a topic object has been added to a cluster every queue manager should have visibility of it. This can be seen by displaying cluster topics on a queue manager: DISPLAY TOPIC(*) TYPE(CLUSTER) TOPICSTR CLUSQMGR CLROUTE CLSTATE 3 : DISPLAY TOPIC(*) TYPE(CLUSTER) TOPICSTR CLUSQMGR CLROUTE CLSTATE AMQ8633: Display topic details. TOPIC(FRUIT) TYPE(CLUSTER) TOPICSTR(/Price/Fruit) CLUSQMGR(QMGR2) CLROUTE(DIRECT) CLSTATE(ACTIVE)  The above display command includes CLROUTE and CLSTATE. These are new for WebSphere MQ V8.  CLROUTE is covered in the following slides.  CLSTATE gives feedback on the current state of this cluster object. Anything other that ACTIVE implies a problem that should be investigated.  If the cluster topic is not visible on a queue manager, check that the cluster channels too and from the full repositories are functioning correctly and that no errors are reported on those full repositories, the queue manager where the topic is defined or the queue manager where the topic was not visible.
  • 15. WebSphere MQ IBM Software Group | WebSphere software Topic objects…
  • 16. WebSphere MQ IBM Software Group | WebSphere software VEG TOPICSTR(‘/Price/Vegetables’) FRUIT TOPICSTR(‘/Price/Fruit’) Topics SYSTEM.BASE.TOPIC TOPICSTR(‘’) Price Fruit Apples Oranges Vegetables Potatoes /Price/Vegetables/Potatoes/Price/Fruit/Apples /Price/Fruit/Oranges The topic tree is dynamically built as topic strings become known. Topic objects are a point of administration associated with a node in the topic tree. You start with a base object defined for the ‘ ’ node … the rest are optional.  They provide hook points in the topic tree to configure specific pub/sub behaviour for a branch. A dynamically created topic node inherits its attributes from administered topic objects associated with topic nodes above it in the topic tree.
  • 17. WebSphere MQ IBM Software Group | WebSphere software Topic Objects Topic objects are a point of administration for a node or sub tree in the topic tree  SYSTEM.BASE.TOPIC is at the root of the topic tree  An administrator can define a topic object tied to any (non wildcard) topic string  Topic object definitions are configured in the same way as queue definitions  They provide a ‘hook’ in the Topic Tree to configure:  Security / access controls  Scope (local to queue manager or global)  …many other configurable attributes  A dynamically created topic node inherits its attributes from administered topic objects associated with topic nodes above it in the topic tree  Similarly one administered topic object can be configured to inherit some attributes from others above it  Configuring topic objects is optional  Only define topic objects where they are needed, additional objects will only add administrative overhead and possible confusion
  • 18. WebSphere MQ IBM Software Group | WebSphere software FRUIT PUB(ASPARENT) DEFPSIST(YES) … Topic object attributes Fruit Oranges SYSTEM.BASE.TOPIC PUB(ENABLED) DEFPSIST(NO) … Price  Many attributes can be set on topic objects to effect a publisher or subscriber’s behaviour.  Topic nodes inherit their behaviour from nodes above. Create a topic object for topic string ‘/Price/Fruit’ DEFINE TOPIC(FRUIT) TOPICSTR(‘/Price/Fruit’) DEFPSIST(YES) Attributes default to inherit settings from above (e.g. ‘ASPARENT’). Publish a message to topic string ‘/Price/Fruit/Oranges’ Are publications enabled? What message persistence to use? PUB = ? PUB = ENABLED PUB = ? DEFPSIST = ? DEFPSIST = YES Publisher PUB = ?ENABLED YES
  • 19. WebSphere MQ IBM Software Group | WebSphere software back to clusters…
  • 20. WebSphere MQ IBM Software Group | WebSphere software Publish/Subscribe Clusters No additional connectivity configuration is required (that’s handled by the cluster)  By default, no subscription knowledge is shared between members of a cluster. Meaning no publications automatically flow between queue managers.  Enabling distributed pub/sub in a cluster is initially achieved by clustering an administered topic definition on one of the queue managers in the cluster. Set the cluster name to the name of the cluster. DEFINE TOPIC(FRUIT) TOPICSTR(‘/Price/Fruit’) CLUSTER(CLUSTER1)  Every queue manager in the cluster automatically becomes aware of the clustered topic and shares subscription knowledge for any topic strings within that branch of the topic tree. Publications for those topic strings will now be propagated to the queue managers in the cluster with matching subscriptions. No application changes are required. FRUIT TOPICSTR(‘/Price/Fruit’) Price Fruit Apples Oranges Publisher Subscription Subscription Subscription
  • 21. WebSphere MQ IBM Software Group | WebSphere software Clusters  Publish/subscribe in clusters now has two modes of routing publications.  DIRECT: Publications are sent directly from the publisher’s queue manager to every queue manager in the cluster with a matching subscription.  TOPIC HOST: Publications are routed via one or more queue managers in the cluster. These are the queue managers where the clustered topic definitions were defined.  DEFINE TOPIC … CLUSTER(…) CLROUTE(DIRECT|TOPICHOST) Publisher Subscription Subscription Subscription Publisher Subscription Subscription Subscription FRUIT V8
  • 22. WebSphere MQ IBM Software Group | WebSphere software Cluster routing  WebSphere MQ V8 introduces the new topic object attribute of CLROUTE (ClusterPubRoute). This takes two values:  DIRECT  All queue managers in the cluster are aware of everyone else and will send publications directly to other queue managers in the cluster with matching subscriptions. This is the default.  TOPICHOST  Only the queue manager(s) where the topic object is defined are aware of everyone else. Publications are forwarded to these topic hosting queue managers, who then forward onto queue managers with matching subscriptions.  To use topic host routing in a cluster, the following queue managers must be at V8 or above:  The topic hosting queue managers  The full repository queue managers  The queue managers where subscriptions exist  The queue managers where publishers connect  Any older queue managers will not be aware of the topic host routed topic definition and continue to behave as if it was not defined in the cluster.
  • 23. WebSphere MQ IBM Software Group | WebSphere software Which is best?  Should I use a hierarchy, a direct or a topic host cluster?  It depends…  Many factors will influence the design of a pub/sub topology:  Number of queue managers in the topology  Size and shape of those queue managers  Their capacity, availability, lifetime, interconnectivity…  Number and lifetime of subscriptions  Number and lifetime of individual topic strings  Publication traffic  Distribution pattern of publications to subscribers  …  One size does not fit all.  First, you need to understand more about how it works…
  • 24. WebSphere MQ IBM Software Group | WebSphere software The mechanics
  • 25. WebSphere MQ IBM Software Group | WebSphere software QMgrQMgr Topics QMgrQMgr Topics Subscription /Prices/Fruit/Apples How it works: subscription propagation  A subscription for a topic string is created on a queue manager.  That queue manager tells others that it is interested in that topic string.  Those queue managers register proxy subscriptions to represent the interest.  On a queue manager, when a message is published to the topic string, a copy of the message is sent, over WebSphere MQ channels, to each queue manager that a proxy subscription is held for.  The receiving queue manager processes the message and gives a copy to each subscription it holds (including any proxies…).  Additional subscriptions on the same topic string do not require additional proxy subscriptions to be flowed. Proxy Subscription /Prices/Fruit/Apples Publisher /Prices/Fruit/Apples Subscription /Prices/Fruit/Apples
  • 26. WebSphere MQ IBM Software Group | WebSphere software Proxy subscriptions  Proxy subscriptions are a special type of subscription that tells one queue manager that another queue manager needs a copy of any matching publications to be sent to it.  Proxy subscriptions can be viewed on a queue manager using MQSC or MQ Explorer. This shows which queue managers will receive a publication for which topic. DISPLAY SUB(*) SUBTYPE(PROXY) TOPICSTR DESTQMGR AMQ8096: WebSphere MQ subscription inquired. SUBID(414D5120514D4752312020202020202021123C5320000E02) SUB(SYSTEM.PROXY.QMGR2 CLUSTER1 /X/Y) TOPICSTR(/X/Y) DESTQMGR(QMGR2) SUBTYPE(PROXY) AMQ8096: WebSphere MQ subscription inquired. SUBID(414D5120514D4752312020202020202021123C5320000E05) SUB(SYSTEM.PROXY.QMGR2 CLUSTER1 /X/Z) TOPICSTR(/X/Z) DESTQMGR(QMGR2) SUBTYPE(PROXY)  If a queue manager has multiple subscriptions to the same topic string only a single proxy subscription is generated.  Proxy subscriptions do not include any selectors set on the subscription.
  • 27. WebSphere MQ IBM Software Group | WebSphere software How it works: in a hierarchy  Proxy subscriptions are sent from a queue manager to every directly connected queue manager in the hierarchy.  They in turn send proxy subscriptions onto any further relations.  Until everyone in the hierarchy is aware of the topic string being subscribed to.  Publications are then sent back down the path of proxy subscriptions. Publisher Subscription Proxy Proxy Proxy ProxyProxy Subscription Proxy Proxy
  • 28. WebSphere MQ IBM Software Group | WebSphere software FRUIT How it works: Direct routed clustered topics  Proxy subscriptions are sent from a subscribing queue manager to every other queue manager in the cluster.  Every queue manager is aware of everyone else in the cluster.  Any publication from a queue manager is sent directly to those queue managers which sent proxy subscriptions. Publisher Subscription ProxyProxyProxyProxyProxy Subscription ProxyProxyProxyProxyProxy
  • 29. WebSphere MQ IBM Software Group | WebSphere software How it works: Topic host routed clustered topics  Proxy subscriptions are sent from a subscribing queue manager only to queue managers that host a definition of the clustered topic.  Only the topic hosts are aware of everyone else.  Any publication from a queue manager is always sent to one of the topic hosts, who then forwards the message to any subscribing queue managers. Publisher Subscription Proxy Subscription Proxy FRUIT V8
  • 30. WebSphere MQ IBM Software Group | WebSphere software Side-by-side
  • 31. WebSphere MQ IBM Software Group | WebSphere software Side-by-side: scaling  Channel connectivity is restricted in both topic host routed clusters and hierarchies.  Direct routed clusters will result in many queue manager channels being established, even to queue managers with no publishers or subscribers.  This can be a concern for large clusters.  Hierarchies and direct routed clusters share subscription knowledge across all queue managers. PublisherSubscription Subscription Publisher Subscription Subscription Publisher Subscription Subscription Topic Hierarchy Direct Cluster Topic host cluster
  • 32. WebSphere MQ IBM Software Group | WebSphere software Side-by-side: publication flows  Direct routed clusters ensure publications take the shortest path between publishers and subscribers.  Topic host routed clusters can introduce an additional hop, with hierarchies relying on even more.  In both of these, careful placing of subscribers and publishers can achieve the same single-hop route that direct clusters provides. PublisherSubscription Subscription Publisher Subscription Subscription Publisher Subscription Subscription Topic Hierarchy:1,2,3… hops Direct Cluster: 1 hop Topic host cluster: 1 or 2 hops
  • 33. WebSphere MQ IBM Software Group | WebSphere software Side-by-side: configuration  Hierarchies require fine grain planning and configuration of queue managers.  Harder to alter the hierarchical structure.  Clusters allow queue managers to join and leave without too much consideration once the overall plan is defined.  Careful planning of topic host routers is required. PublisherSubscription Subscription Publisher Subscription Subscription Publisher Subscription Subscription Topic Hierarchy Direct Cluster Topic host cluster
  • 34. WebSphere MQ IBM Software Group | WebSphere software Side-by-side: availability  An unavailable queue manager in a hierarchy can cut off many others.  In a direct routed cluster it’ll only affect the subscribers and publishers on that queue manager.  In a topic host routed cluster it can affect more if the queue manager hosts a topic definition.  But this can be avoided… PublisherSubscription Subscription Publisher Subscription Subscription Publisher Subscription Subscription Topic Hierarchy Direct Cluster Topic host cluster
  • 35. WebSphere MQ IBM Software Group | WebSphere software Side-by-side: availability Publisher Subscription Subscription Topic Topic host cluster PublisherSubscription Subscription Publisher Subscription Subscription Hierarchy Direct Cluster  An unavailable queue manager in a hierarchy can cut off many others.  In a direct routed cluster it’ll only affect the subscribers and publishers on that queue manager.  In a topic host routed cluster it can affect more if the queue manager hosts topics, but this can be avoided…
  • 36. WebSphere MQ IBM Software Group | WebSphere software VEG TOPICSTR(‘/Price/Vegetables’) Topic host routing  Multiple queue managers can host the same clustered topic.  With the same name, topic string, etc.  Publications are routed based on availability and workload balancing.  This increases availability and scalability of routes.  Multiple topic hosts for a topic enable workload balancing of publication traffic.  Publications will no longer maintain their relative order.  Hosting different topics on different queue managers can also be used to increase availability and scaling. Publisher Subscription Proxy Subscription Proxy FRUIT FRUIT Proxy Proxy VEG FRUIT TOPICSTR(‘/Price/Fruit’) Price Fruit Apples Oranges Vegetables Potatoes
  • 37. WebSphere MQ IBM Software Group | WebSphere software Comparison summary  Scaling  Topic host routed clusters provide the best options for scaling.  Availability  Clusters can be configured to avoid single points of failures, unlike hierarchies.  Publication performance  All topologies use very similar inter queue manager techniques for transferring messages, and each can be designed to minimise routes between queue managers.  Configuration  Clustering is the most dynamic and simplest solution – especially where clusters are already in use.
  • 38. WebSphere MQ IBM Software Group | WebSphere software Scenarios Putting it into practice
  • 39. WebSphere MQ IBM Software Group | WebSphere software  A couple of dozen queue managers.  Administratively created subscriptions for each major application, perhaps a hundred, with different topics, rarely changing.  Publishers and subscriptions spread across the most queue managers.  Simplest to create, is a cluster with direct routed topics. ‘A bit of pub/sub’ Topic
  • 40. WebSphere MQ IBM Software Group | WebSphere software  A thousand queue managers, all talking to a few in HQ, but rarely to each other.  Each with its own subscriptions and publishers.  Do not use a direct cluster topic! A big ‘hub and spoke’ cluster
  • 41. WebSphere MQ IBM Software Group | WebSphere software  A thousand queue managers, all talking to a few in HQ, but rarely to each other.  Each with its own subscriptions and publishers.  Do not use a direct cluster topic!  Use topic host routed clustered topics, possibly on a dedicated set of routing queue managers, sized to take the load. A big ‘hub and spoke’ cluster
  • 42. WebSphere MQ IBM Software Group | WebSphere software  An existing cluster containing hundreds or thousands of queue managers. Each connected to a few others in the cluster, as required.  A few applications need to support inter queue manager pub/sub on a handful of queue managers.  It is best not to create a direct routed clustered topic in that cluster.  This would result in all queue managers learning of each other. A small amount of pub/sub within a much larger cluster
  • 43. WebSphere MQ IBM Software Group | WebSphere software  One solution is to create a dedicated overlaid cluster for the queue managers requiring publish/subscribe and clustering a direct topic.  Optionally use PSCLUS to prevent clustered topic definitions being created in the wider cluster. A small amount of pub/sub within a much larger cluster V7.1
  • 44. WebSphere MQ IBM Software Group | WebSphere software  Alternatively, create a hierarchy and don’t cluster the topic  Use PSCLUS to prevent clustered topic definitions being created A small amount of pub/sub within a much larger cluster V7.1
  • 45. WebSphere MQ IBM Software Group | WebSphere software  Or use a topic host routed clustered topic.  All queue managers become aware of the topic but only those using it will communicate with the topic host queue manager(s).  The topic hosting queue managers may need to communicate with all other queue managers under certain error circumstances. A small amount of pub/sub within a much larger cluster
  • 46. WebSphere MQ IBM Software Group | WebSphere software  Thousands of loosely connected dynamic subscriptions, on thousands of different topic strings, continually coming and going, along with corresponding publishers.  A few queue managers to provide availability and subscription load sharing.  This introduces a special problem….  Proxy subscription ‘churn’ A very dynamic setup
  • 47. WebSphere MQ IBM Software Group | WebSphere software Subscription propagation or publication broadcast?  Some scenarios mean the benefits of a subscription propagation model start to be eclipsed by the overheads.  A large set of fast changing subscriptions can result in proxy subscription churn.  Proxy subscriptions have a per topic string granularity.  Proxy subscription propagation is asynchronous.  The delay can become a problem.  An alternative is to broadcast publications across multiple queue managers on the expectation that subscriptions will exist.  No need to propagate the per topic string proxy subscriptions.  Potentially extra publication load (every queue manager sees every publication).  Broadcast mode is enabled through the use of setting the Proxy Subscription attribute to Force on an administered topic object. V8 Improved in WebSphere MQ V8
  • 48. WebSphere MQ IBM Software Group | WebSphere software Subscription propagation or publication broadcast?  When considering the load on the system from the proxy subscription traffic monitor the following queues.  The SYSTEM.INTER.QMGR.FANREQ queue on the subscriber queue manager.  The SYSTEM.INTER.QMGR.CONTROL queue on all other queue managers in the cluster.  Any significant message backlog on these queues implies that either the rate of subscription change is too great for the system or a queue manager is not correctly functioning in the cluster.  When PROXYSUB is set to FORCE on a WebSphere MQ V8 queue manager, the wildcarded proxy subscription covering all sub-topics will be generated and no subsequent proxy subscriptions will be generated.  Prior to WebSphere MQ V8, setting PROXYSUB to FORCE for a topic will generate the wildcarded proxy subscription in advance but it will not stop the individual proxy subscriptions being created for each newly subscribed topic.  This can be achieved in a coarse grain way using the pscProxySubFlags tuning parameter, as documented in the info center.
  • 49. WebSphere MQ IBM Software Group | WebSphere software  Setting proxy subscription to force generates a wildcarded proxy subscription on all queue managers where that topic is seen.  All queue managers when in a cluster.  Only the queue manager where it is defined when in a hierarchy.  Once that is in place there is not a need for individual proxy subscriptions for any sub-topic string.*  Every publication is sent to every queue manager and onto the subscriptions.  If no local subscriptions exist for a publication, it is simply discarded. Publication broadcast TOPIC TOPICSTR(‘/Orders’) PROXYSUB(FORCE) /Orders/# /Orders/# /Orders/# /Orders/# /Orders/# /Orders/# *This is automatic in WebSphere MQ V8, but requires intervention prior to this
  • 50. WebSphere MQ IBM Software Group | WebSphere software  When we need a point-to-point application to be continuously available we can cluster and duplicate its request queue.  How do we get the same with a publish/subscribe application?.... The continuously available point-to-point application App RequestorRequestorRequestor App
  • 51. WebSphere MQ IBM Software Group | WebSphere software The continuously available subscription  The aim is to configure the system so that an application that processes publications can run multiple instances, across multiple queue managers.  The instinct is to cluster the topic and duplicate the subscription.  This is not the solution, it will lead to multiple copies of each publication App PublisherPublisherPublisher App TOPIC CLUSTER(CLUSTER1) Subscription Subscription
  • 52. WebSphere MQ IBM Software Group | WebSphere software The continuously available subscription  Don’t define the topic as clustered (this is really important).  Instead, configure matching clustered queues, as for point-to-point.  Administratively define the same subscription on every queue manager where a publisher can connect.  Point those subscriptions at the cluster queue  Publish to the topic, and consume from the queues… App PublisherPublisherPublisher App Subscription Subscription Subscription
  • 53. WebSphere MQ IBM Software Group | WebSphere software Controlling a subscription’s specific queue  Manually create the subscription through administration  For example, using runmqsc: DEFINE SUB(…) TOPICSTR(‘…’) DEST(name of queue) DESTQMGR(location of queue) …  Programmatically create the subscription  Through certain APIs  For example MQI, using the MQSUB verb  Not supported with JMS  Through programmatically sending an administrative command  By generating an MQCMD_CREATE_SUBSCRIPTION PCF command message  Through the queued publish/subscribe mechanism  Matches the pre MQ V7 model of sending subscription registration messages (MQPS_REGISTER_SUBSCRIBER) to a queue manager  Provided for compatibility with pre-V7 systems
  • 54. WebSphere MQ IBM Software Group | WebSphere software Tips and tricks
  • 55. WebSphere MQ IBM Software Group | WebSphere software Problem determination  Double check your configuration  Remember that topic objects inherit behaviour from higher topic nodes, this can affect how lower topics behave. Especially for things like SUBSCOPE and PUBSCOPE.  When in a cluster, check each queue manager’s cluster knowledge.  Use DISPLAY TOPIC(*) TYPE(CLUSTER)  From V8, check the CLSTATE to see if problems exist (see the info center for more details).  When in a hierarchy, check your relationships.  Use DISPLAY PUBSUB  Check the error logs.  It may be obvious but check the error logs of the queue managers with publishers and subscribers, and full repository queue managers, and any in between (topic hosts or hierarchy members).  Check your channels.  If the channels to and from the queue managers are not running, publication traffic, proxy subscriptions, topic configuration (clusters) or relationships (hierarchies) will not flow.  Check your proxy subscriptions on each queue manager.  Use DISPLAY SUB(*) SUBTYPE(PROXY)  Check your topic status.  Use DISPLAY TPSTATUS( ) to show how a topic string will behave, this takes into account any administered topic objects that relate to it in the topic tree. V8
  • 56. WebSphere MQ IBM Software Group | WebSphere software Problem determination  Watch for publication movement.  Publications may be flowing, but not noticed.  Check the NUMMSGS value on the proxy subscriptions using DISPLAY SBSTATUS( ) to see if publications have been sent to the originator of the proxy subscription.  Check the MSGS value on the channels to see if they are flowing using DISPLAY CHSTATUS( )  Look for a build up of messages.  In the event of problems, messages can build up on system queues. These may be because the system is producing messages too quickly or an error has occurred. Investigate to see if messages are still being processed, but slowly, or no messages are processed.  Queues which should be empty under normal running are:  SYSTEM.INTER.QMGR.PUBS (clusters) – Publications arriving from remote queue managers  SYSTEM.INTER.QMGR.FANREQ (clusters) – Requests to send proxy subscriptions  SYSTEM.INTER.QMGR.CONTROL (clusters) – Requests from other queue managers to register proxy subscriptions  SYSTEM.CLUSTER.TRANSMIT.QUEUE (or any other transmission queue involved) – All inter queue manager outbound messages  SYSTEM.BROKER.DEFAULT.STREAM (hierarchies) – Publications arriving from remote queue managers (and local ‘queued’ pub/sub applications)  SYSTEM.BROKER.CONTROL.QUEUE – Requests to register/deregister subscriptions  SYSTEM.BROKER.INTER.BROKER.COMMUNICATIONS (hierarchies) – Requests from other queue managers in the hierarchy.  Don’t forget the dead letter queue
  • 57. WebSphere MQ IBM Software Group | WebSphere software Performance  Distributing publishers and subscribers does cost in latency.  Keep high intensity publishers and subscribers together.  Or at least minimise their routes.  But it does enable horizontal scaling.  Try to remove bottlenecks by having multiple subscription locations and routes to maximise throughput.  Maximising throughput.  Message ordering is your enemy.  Multiple routes are possible at multiple levels:  Routing queue managers when using topic host routing. – Ideally for the same topics, but even across different topics can improve throughput.  Multiple cluster channels when using any clustering.  Multiple queue manager threads when processing inter-queue manager traffic.  Don’t forget to consider the subscription and channel overheads.
  • 58. WebSphere MQ IBM Software Group | WebSphere software Performance  Check out the WebSphere MQ V7.5 Publish/Subscribe performance report.  SupportPac MP0C  (Found at http://www.ibm.com/support/docview.wss?uid=swg24033638 at the time of writing!)
  • 59. © 2014 IBM Corporation IBM Software Group WebSphere Software Thank You
  • 60. WebSphere MQ IBM Software Group | WebSphere software Legal Disclaimer • © IBM Corporation 2014. All Rights Reserved. • The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. • References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results. • All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.