|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
IIB9: DatabaseInput, Multiple Brokers |
« View previous topic :: View next topic » |
Author |
Message
|
akil |
Posted: Thu May 14, 2015 1:00 am Post subject: IIB9: DatabaseInput, Multiple Brokers |
|
|
 Partisan
Joined: 27 May 2014 Posts: 338 Location: Mumbai
|
Hi
What's the usual way to handle cases of a multi-instance deployment (HA) , with flows having a DatabaseInput node..
use a separate data-source on each node ?
use a single data-source with different event tables ?
use a single data-source, with the same table, with a column to differentiate (like brokerUUID or hostname)?
use a single data-source, with the same table, with a column to differentiate (a configurable property)
_________________ Regards |
|
Back to top |
|
 |
smdavies99 |
Posted: Thu May 14, 2015 1:14 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
I assume you are talknig about Active-active and not Active-passive
I'd keep as much common between the two systems.
So I'd
- use the same DSN on both
- use the same Event tables
That keeps the monitoring flows the same (or as much as you can)
Then yes, I'd probably have a column that allows you to differentiate between brokers even if they have the same name.
However the transaction volume may mean that you have to make things separate. Only proper load testing will tell.
so the answer is
'It Depends....'
 _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
akil |
Posted: Thu May 14, 2015 2:32 am Post subject: |
|
|
 Partisan
Joined: 27 May 2014 Posts: 338 Location: Mumbai
|
The DatabaseInput node in the 2 brokers ends up reading the same set of events, so something needs to be different in the events table ...
I am wondering whether it should be a magic column ( like brokerUUID ) or an application defined column ( like something that is asked by instructions to be different ) .. What's the more common way? _________________ Regards |
|
Back to top |
|
 |
mqjeff |
Posted: Thu May 14, 2015 4:12 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Have you determined that the two database input nodes will read the same rows?
Have you considered row-level locking in your db?
You could use something in the flows to detect that both instances have received the same record.
Like a cache entry. |
|
Back to top |
|
 |
akil |
Posted: Thu May 14, 2015 9:03 pm Post subject: |
|
|
 Partisan
Joined: 27 May 2014 Posts: 338 Location: Mumbai
|
The query in ReadEvents just reads the rows from the events table (without any where clause), this makes the 2 database input nodes read the same set of rows ..
So what we did was added a column in the events table (broker_UUID), and populated it when we inserted into the events_table , changed the ReadEvents to have a where clause on this column.. Now the brokers read only those rows that were meant for them .. Not an ideal situation as this is static load balancing (round robin) ,
A publish/subscribe across multiple nodes, sourcing data from a databaseInput would be much better.. but tough to wire it up ground up. _________________ Regards |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|