It is used to spread the load of client requests amoungst multiple sources
that can all potentially provide the same data.
It mounts an output source that is a logical combination of 2 or more input
sources. (Hydra is named after the multi-headed beast of greek mythology
since its multiple input sources can be likened to the many heads of the
mythological beast.) Hydra is commonly used where the underlying data source suffers has some
form of bottle neck associated with obtaining the data, and where this can be
aliviated by having multiple handlers to access the data.
For example, when the number of requests made by the Global Topic Handler
becomes very high the Global Topic Server to which it connects may drop updates
(with a notification) to prevent buffer over flows. One solution to this
is to run multiple GTHandlers against one or more Global Topic servers each
mounting seperate sources. Hydra may then be used to combine these
multiple but logically equivalent sources into one, spreading the requests for
GlobalTopic data amoungst each base source. Hydra has been a standard Dataworks Enterprise component since Dataworks
Enterprise release 1.0.0.137. When the client of the Hydra's out-going source makes a request, the hydra
applies the request to one of its available in-coming heads (input
sources). It does this by choosing the 'least-loaded' head calculated on
the basis of the number of currently active requests on each head. Hydra also supports a single backup head (or input source) to which it will
direct requests when, and only when, all other heads are unavailable. In
this situation it will return requests back onto the first normal head that
becomes available again. Hydra can also be configured to place a limit on the maximum number of requests
that it will apply to a given head. If this maximum is reached for all
available heads then further requests will be given a RTStale status and will
then be queued until such time as a head becomes available that can process the
request. All Configuration is performed using the Hydra.USR file. For specific
details please consult the installed configuration file. Hydra presents just one outpur source which has the behaviour of the underlying
input sources.
Hydra does not rebalance requests once they are made. Requests are always
applied to the 'least-loaded' head at the time that the request is made and
remain on that had until the request is cancelled.
At present Hydra sends a client request to the least-loaded head calculated on
the basis of the number of currently active requests on each head. A
forthcoming version will be able to use an alternative, source-specific
algorithim by interogating each source for its relative loading factor using a
well-known instrument.
*DISCLAIMER: The changes are only possible proposals and
represent neither "work in progress" nor work that is scheduled for a future
release. Details of product roadmaps and current development shoudl be directed
through the normal reporting channels.
Hydra
Hydra is a module that can load-balance between symmetric
Dataworks Enterprise sources.

History
Documentation
Configuration
Sources
NB All the input sources should all be equally capable of servicing any client
request.
Known Problems
Futures*