Microservice Queue Distribution Without a Central Orchestrator
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing microservice orchestrators in cloud computing systems introduce complexity, potential single points of failure, and increased overhead, especially when handling small data batches, and there is a need for a more efficient workload distribution mechanism.
Innovation Solution
A time-based synchronization method is employed where replicas of a microservice are aware of the total number of active replicas, self-regulating their workload distribution by ensuring each data source is accessed at regular intervals, eliminating the need for a centralized orchestrator and reducing complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a centralized orchestrator is used to manage workload distribution among microservice replicas, then coordination and control are improved, but system complexity increases and potential single points of failure are created
Solution Approach 1:
Each replica independently determines its own workload distribution parameters by receiving the total replica count and calculating its unique identifier-based offset. This self-service approach eliminates the need for a centralized orchestrator to assign workloads, reducing system complexity while maintaining reliable workload distribution through decentralized autonomous operation
Solution Approach 2:
The patent introduces a simple intermediary mechanism where replicas receive the total replica count as a parameter and use their unique identifiers to self-organize. This intermediary information enables coordinated workload distribution without requiring complex orchestrator logic, resolving the contradiction between reliability and complexity
2Ease of operation
If a centralized orchestrator manages all replica coordination, then centralized control is achieved, but overhead increases especially for small data batches
Solution Approach 1:
Replicas autonomously calculate their workload assignments using their unique identifiers and the total replica count, eliminating the need for the orchestrator to process each small data batch. This self-service mechanism dramatically reduces orchestrator overhead while maintaining ease of operation through simple identifier-based distribution logic
Solution Approach 2:
The patent implements partial action by having replicas only perform the minimal necessary calculation (determining their offset based on unique identifier) rather than full coordination. This partial action approach reduces overhead significantly while still achieving effective workload distribution across all replicas
3Productivity
If replicas independently process data without coordination, then processing speed is improved, but data source access regularity deteriorates
Solution Approach 1:
The patent uses asymmetric unique identifiers assigned to each replica to determine their workload distribution. This asymmetry ensures that each replica has a distinct starting offset when processing data sources in sequence, enabling parallel processing while maintaining regular access intervals through deterministic identifier-based positioning
Solution Approach 2:
Replicas process data sources in a periodic sequence determined by their unique identifiers. Each replica cycles through data sources at regular intervals based on its identifier-based offset, maintaining stable access regularity while enabling concurrent processing that improves overall productivity
Data Source
AI summary
A computer-implemented method can be used for distributing workload in a cloud computing system that includes a number of data sources. Each data source includes one or more queues. A plurality of replicas of a microservice are instantiated. Each replica is configured to process data from the data sources. Each replica receives information regarding a total number of active replicas and an identifier specific to that replica. Each replica determines a starting queue based on the total number of active replicas and the specific identifier. Each replica processes data from its determined starting queue and subsequent queues in a predefined order.


