Note that this documentation is for the coming release NetarchiveSuite 7.4
and is still work-in-progress.

For documentation on the released versions, please view the previous versions of the NetarchiveSuite documentation and select the relevant version.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

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.common.distribute.ChannelID class. To get a channel, you must use one of the public methods in dk.netarkivet.common.distribute.Channels.

Channel Behavior

There are to types of channels used in the JMS protocol:

  • Queue where only one listener takes a message from the channel. 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.

 

In NetarchiveSuite we use a naming convention that topic channel names include the string "_ALL_". 

Naming Conventions

The structure of channel names is as follows:

<Environment Name>_<ReplicaID>_[<Channel Specifier Prefix>_]<Channel Specifier>[_<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 (ie the "location" in a distributed system), or COMMON if channel shared by all replicas.

  • Channel Specifier Prefix if present is one of the following:
    • 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
  • Channel Specifier simply expresses what the channel is used for. By convention this (usually) describes what kind of application should listen on this channel.

Here is a complete list of the channels in an actual realistic distributed NAS system (IP addresses have been anonymised for security reasons).

Channel NameFunction

SystemTest_COMMON_HARVESTER_STATUS_TOPIC

 
SystemTest_COMMON_HARVESTMON 
SystemTest_COMMON_HCHAN_VAL_REQ  
SystemTest_COMMON_HCHAN_VAL_RESP  
SystemTest_COMMON_INDEX_SERVER  
SystemTest_COMMON_JOB_PARTIAL_HIGHPRIORITY  
SystemTest_COMMON_JOB_SNAPSHOT_LOWPRIORITY  
SystemTest_COMMON_MONITOR_TOPIC  
SystemTest_COMMON_THE_REPOS  
SystemTest_COMMON_THE_SCHED  
SystemTest_COMMON_THIS_INDEX_CLIENT_130_225_27_140_HCS_SBHIGH_H3  
SystemTest_COMMON_THIS_INDEX_CLIENT_130_226_228_11_HCS_KBHIGH_H3  
SystemTest_COMMON_THIS_REPOS_CLIENT_130_225_27_140_HCS_SBHIGH_H3 
SystemTest_COMMON_THIS_REPOS_CLIENT_130_226_228_10_WI  
SystemTest_COMMON_THIS_REPOS_CLIENT_130_226_228_11_HCS_KBHIGH_H3  
SystemTest_COMMON_THIS_REPOS_CLIENT_130_226_228_11_HCS_KBLOW002_H3  
SystemTest_COMMON_THIS_REPOS_CLIENT_130_226_228_5_IS  
SystemTest_COMMON_THIS_REPOS_CLIENT_130_226_228_5_VP  
SystemTest_COMMON_THIS_REPOS_CLIENT_130_226_228_9_HCS_KBLOW001_H3  
SystemTest_CS_THE_CR  
SystemTest_KB_ALL_BA_TOPIC  
SystemTest_KB_ANY_BA  
SystemTest_KB_THE_BAMON  
SystemTest_SB_ALL_BA_TOPIC  
SystemTest_SB_ANY_BA  
SystemTest_SB_THE_BAMON 

Channel Prefix

Example

Description

THE_SCHED

QUICKSTART_COMMON_THE_SCHED

Queue on which HarvestControllers reply with status messages to the HarvestScheduler.

JOB_PARTIAL_FOCUSED

QUICKSTART_COMMON_JOB_PARTIAL_FOCUSEDQueue used to send jobs to the selective harvesters in the focused pool.

JOB_SNAPSHOT_SNAPSHOT

QUICKSTART_COMMON_JOB_SNAPSHOT_SNAPSHOTQueue used for sending jobs to the harvester configured for snapshot harvesting.

THIS_REPOS_CLIENT

QUICKSTART_COMMON_THIS_REPOS_CLIENT_192.168.1.7_HCS_FOCUSEDOne-per-client queue on which client receives replies from the repository.

THE_REPOS

QUICKSTART_COMMON_THE_REPOS 

Queue for sending messages to the Repository are.

THE_BAMON

QUICKSTART_A_THE_BAMON 

Queue for sending messages to bitarchive monitors.

ALL_BA

QUICKSTART_A_ALL_BA_TOPIC 

Topic for broadcasting messages to all bit archives. 

ANY_BA

QUICKSTART_A_ANY_BA 

Queue for sending a message to one of the bit archives. 

THIS_INDEX_CLIENT

QUICKSTART_COMMON_THIS_INDEX_CLIENT_192.168.1.7_HCS_FOCUSED

Queue for getting responses from the IndexServer

INDEX_SERVER

QUICKSTART_COMMON_INDEX_SERVER

Queue for sending messages to the IndexServer

MONITOR

QUICKSTART_COMMON_MONITOR_TOPIC

Topic for the monitor registry

ERROR

QUICKSTART_COMMON_ERROR_COMMON

Queue for errors which are not handled elsewhere. Never normally created or used.

THE_CR

QUICKSTART_CS_THE_CR

Queue for sending messages to a specific Checksum replica.
HARVESTER_STATUSQUICKSTART_COMMON_HARVESTER_STATUS_TOPIC

Topic used by the harvesters to call in ready for new jobs

HCHAN_VAL_REQQUICKSTART_COMMON_HCHAN_VAL_REQQueue for harvesters to register the harvest channel they are processing jobs from.
HCHAN_VAL_RESPQUICKSTART_COMMON_HCHAN_VAL_RESPQueue for response from the HarvestManager to the Harvesters requesting HarvestChannel registrations.

The examples are using values

  • Environment name QUICKSTART
  • Possible replica identifiers A, CS
  • IP on machine 192.168.1.7
  • HCS_FOCUSED (for HarvestControllerApplication with instance id FOCUSED )

 

  • No labels