MigratoryData is a messaging system based on a subject-based publish/subscribe model, also known as a topic-based publish/subscribe model. Therefore, the terms subjects and topics can be used interchangeably.

A subject is used by a subscriber client to listen for all messages published to that subject. Also, it is used by a publisher client to publish messages on that subject.

A subject is a string of UTF-8 characters similar to Unix absolute paths. It begins with a slash (/) and consists of one or more non-empty segments separated by a slash (/).

For example, the string /Stocks/NYSE/IBM is a valid subject, as it is composed of three non-empty segments Stocks, NYSE, and IBM. These are examples of invalid subjects:

Invalid Subject Reason
/Stocks//IBM/BID The second segment is empty
Stocks/IBM/BID It does not start with a slash (/)
/Stocks/IBM/BID/ The last segment is empty