Contents
Placement in NetarchiveSuite software
Every channel is named after the set of applications instances that are expected to receive messages sent to it. All channel names are constructed privately in the dk.netarkivet.distribute.ChannelID
class. To get a channel, you must use one of the public methods in dk.netarkivet.distribute.Channels
.
Channel Behavior
There are used to types of channels:
- Queue where only one listener takes a message from the queue. For example a queue where a request for doing a harvest is only received by one harvester.
- Topic where all listeners takes a copy of the message. For example a batch job which has to be executed by all bitarchive applications.
The type of channel is not affecting the channel name directly. It is indicated by the Channel Prefix, since only channel names starting withALL
are topics, while the rest are queues.
The channel type for different queues is given in a table in the next section.
Naming Conventions
The structure of channel names are as follows:
<Environment Name>_<ReplicaID>_<Channel Prefix>[_<Machine>][_<Application Instance>][_topic]
- Environment Name value must be the same for all channels on all JVMs belonging to a single NetarchiveSuite installation. It identifies the environment for the queue, e.g.: "DEV", "TEST", "RELEASETEST", "CLOVER", "PROD" or initials of developer running personal environment for e.g. sanity tests. It is read from the setting
settings.common.environmentName
of the NetarchiveSuite installation. ReplicaID Name of the replica, or COMMON if channel shared by all replicas.
- Channel Prefix is constructed by a convention for channel behavior together with denotation of the concerned application(s). For example THE_SCHED uses the convention THE for SCHED denoting the scheduler of the harvesting system.
The conventions for channel behavior are:
- THE - communicate with singleton in the system.
- THIS - communicate with one uniquely identified instance of a number of distributed listeners.
- ANY - has all instances listening to the same queue.
- ALL - is used for topics only, i.e. topics are sent to all listeners on the channel.
- Use Replica Id will result in a channel name with the replica identifier in question (which must match possible replicas in settings). In case of no use of replica id the COMMON will be used.
- Use IP Node will result in a channel name with the IP address of the machine whether the application in question is placed. It is read directly from the running system.
. In case of no use of IP Node, nothing will be written. - Use Application Instance Id is used, if only one process is expected to listen to the queue. It will result in a channel name with an identification of the individual application instance. It consists of the application abbreviation (uppercase letters of application name) and the application instance identifier from the settings. It is read from the common settings:
settings.common.applicationName
andsettings.common.applicationInstanceId
.
. In case of no use of Application Instance Id, nothing will be written. Channel Type is only here to complete the picture. Please refer to the section on channel behavior.
Channel names are constructed as described in the below table (columns described after the table).Channel Prefix
Example
Description THE_SCHED
QUICKSTART_COMMON_THE_SCHED JOB_PARTIAL_FOCUSED
QUICKSTART_COMMON_JOB_PARTIAL_FOCUSED JOB_SNAPSHOT_SNAPSHOT
QUICKSTART_COMMON_JOB_SNAPSHOT_SNAPSHOT THIS_REPOS_CLIENT
QUICKSTART_COMMON_THIS_REPOS_CLIENT_130.226.258.7_HCS_FOCUSED THE_REPOS
QUICKSTART_COMMON_THE_REPOS
THE_BAMON
QUICKSTART_A_THE_BAMON
ALL_BA
QUICKSTART_A_ALL_BA_TOPIC
ANY_BA
QUICKSTART_A_ANY_BA
THIS_INDEX_CLIENT
PROD_THIS_INDEX_CLIENT_COMMON_130_226_258_7_ISA
INDEX_SERVER
QUICKSTART_COMMON_INDEX_SERVER
MONITOR
QUICKSTART_COMMON_MONITOR_TOPIC
ERROR
PROD_ERROR_COMMON
THE_CR
PROD_THE_CR_THREE
HARVESTER_STATUS QUICKSTART_COMMON_HARVESTER_STATUS_TOPIC HCHAN_VAL_REQ QUICKSTART_COMMON_HCHAN_VAL_REQ HCHAN_VAL_RESP QUICKSTART_COMMON_HCHAN_VAL_RESP
The examples are using values
- Environment name QUICKSTART
- Possible replica identifiers A
- IP on machine
130.226.258.7
HCS_FOCUSED
(for HarvestControllerApplication with instance idFOCUSED
)