A system comprising: at least one processor; and a memory (1906, 1908) on which is stored machine readable instructions that are to cause the at least one processor to: receive events from a publisher, the events being categorized into a plurality of topics; distribute the events among brokers to process a topic from the plurality of topics based on the events; periodically update local metadata caches for the brokers with topics and subscriber metadata received from a metadata store; determine whether the topic exists in a list of topics handled by the brokers based on an initial check for the topic in the local metadata cache for at least one of the brokers, and a subsequent check for the topic in the metadata store if the topic is determined to be absent from the local metadata cache according to the initial check; validate authentication credentials of the publisher; form a queue of the events based on an order of receipt of the event; filter the events present in the queue to match the events to their intended recipients based on subscriptions of the events; and dispatch a targeted event notification to subscribers for the filtered events. at least one processor; and a memory (1906, 1908) on which is stored machine readable instructions that are to cause the at least one processor to: receive events from a publisher, the events being categorized into a plurality of topics; distribute the events among brokers to process a topic from the plurality of topics based on the events; periodically update local metadata caches for the brokers with topics and subscriber metadata received from a metadata store; determine whether the topic exists in a list of topics handled by the brokers based on an initial check for the topic in the local metadata cache for at least one of the brokers, and a subsequent check for the topic in the metadata store if the topic is determined to be absent from the local metadata cache according to the initial check; validate authentication credentials of the publisher; form a queue of the events based on an order of receipt of the event; filter the events present in the queue to match the events to their intended recipients based on subscriptions of the events; and dispatch a targeted event notification to subscribers for the filtered events. receive events from a publisher, the events being categorized into a plurality of topics; distribute the events among brokers to process a topic from the plurality of topics based on the events; periodically update local metadata caches for the brokers with topics and subscriber metadata received from a metadata store; determine whether the topic exists in a list of topics handled by the brokers based on an initial check for the topic in the local metadata cache for at least one of the brokers, and a subsequent check for the topic in the metadata store if the topic is determined to be absent from the local metadata cache according to the initial check; validate authentication credentials of the publisher; form a queue of the events based on an order of receipt of the event; filter the events present in the queue to match the events to their intended recipients based on subscriptions of the events; and dispatch a targeted event notification to subscribers for the filtered events.