US 9,813,516 B2
Transparent sharding of traffic across messaging brokers
Xiaodan Wang, Dublin, CA (US)
Assigned to salesforce.com, inc., San Francisco, CA (US)
Filed by salesforce.com, inc., San Francisco, CA (US)
Filed on Feb. 4, 2015, as Appl. No. 14/614,146.
Claims priority of provisional application 61/941,293, filed on Feb. 18, 2014.
Prior Publication US 2015/0237157 A1, Aug. 20, 2015
Int. Cl. G06F 15/173 (2006.01); H04L 29/08 (2006.01); H04L 12/24 (2006.01); G06F 17/30 (2006.01); H04L 12/26 (2006.01)
CPC H04L 67/2809 (2013.01) [G06F 17/30584 (2013.01); H04L 41/0668 (2013.01); H04L 43/0817 (2013.01); H04L 67/1002 (2013.01)] 24 Claims
OG exemplary drawing
 
1. A method of sharding message traffic across messaging brokers, the method comprising:
providing a message sharding service to provide message sharding among a plurality of registered message brokers, wherein providing the message sharding service includes applying a current first message sharding strategy, and wherein the current message sharding strategy of the message sharding service is one of a plurality of possible message sharding strategies for the message sharding service;
sharding messages among the registered message brokers according to the current message sharding strategy of the message sharding service, including registering the message brokers and assigning message queues to registered message brokers according to the current message sharding strategy; and
dynamically switching the current message sharding strategy of the message sharding service from the first message sharding strategy to a second message sharding strategy of the plurality of message sharding strategies, and sharding messages among the registered message brokers according to the second message sharding strategy;
wherein the message sharding service includes a routing table sweeper job to enforce the current message sharding strategy of the message sharding service, the routing table sweeper job to determine a destination message broker for queues assigned to new routing rules, and to determine a correct message broker for existing routing rules that are currently assigned to a wrong broker according to the current message sharding strategy.