Microsoft Corporation
PROCESSING AND ORDERING MESSAGES IN PARTITIONS

Last updated:

Abstract:

The disclosure herein describes a message ordering system for processing and synchronizing chat messages in partitions to maintain messaging order and load balancing in a distributed system at scale. Messages are placed in partitions based on session identifiers (IDs). Messaging order is secured by a session receiver holding a lock over particular partitions. Receivers having subscription to messages in service bus are enabled to terminate on occurrence of a predetermined event, such as threshold wait time without receiving additional messages with a selected session ID from their partitions, activity level on a node, number of receivers on a node or other metrics. Session ID locks are released after a session ends, a receiver terminates or a node crashes for failure handling. New receivers are created to handle new incoming messages for additional load balancing and/or failover.

Status:
Application
Type:

Utility

Filling date:

3 Feb 2020

Issue date:

3 Jun 2021