Microservice Data Prioritization to Reduce Processing Delay
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In service meshes like Istio, microservices have to wait for all data to arrive before executing application logic, leading to inefficiencies as they process large data packages, even if only a subset of data is needed.
Innovation Solution
Prioritizing data transmission based on usage patterns across the service mesh, allowing destination microservices to receive and process needed data early by determining a priority order for data parameters based on historic usage information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all data is transmitted to destination microservices before processing can begin, then data completeness is ensured, but processing delay increases
Solution Approach 1:
The system performs preliminary actions by transmitting data in a pre-determined priority order before the destination microservice is fully ready to process it. The originator microservice sends high-priority data parameters first based on historical usage patterns, allowing the destination microservice to begin processing as soon as critical data arrives, rather than waiting for all data. This resolves the contradiction by preparing and sending data in an optimized sequence in advance.
Solution Approach 2:
The data transmission is segmented into priority-based batches rather than sending all data as a single unit. High-priority data parameters that are historically most needed are transmitted first, followed by lower-priority parameters. This segmentation allows the destination microservice to process critical data immediately while receiving remaining data in the background, thus reducing processing delay while maintaining data completeness.
2Loss of information
If large data packages are transmitted between microservices, then information completeness is improved, but transmission overhead and processing time increase
Solution Approach 1:
The system applies local quality by customizing data transmission for each destination microservice based on its specific historical usage patterns. Instead of sending identical complete data packages to all microservices, the originator analyzes which data parameters each destination microservice has historically accessed and prioritizes those specific parameters. This ensures each microservice receives information completeness tailored to its local needs while reducing overall transmission overhead.
Solution Approach 2:
The system changes the parameter of data transmission by dynamically adjusting the priority order of data parameters based on historical usage information. Rather than transmitting data in a fixed sequence or as a complete package, the system modifies the transmission parameters to send the most historically relevant data parameters first, thereby improving productivity while maintaining the information completeness that each specific destination microservice requires.
3Manufacturing precision
If microservices wait for complete data before executing application logic, then processing accuracy is ensured, but system responsiveness deteriorates
Solution Approach 1:
The system performs preliminary action by pre-determining and transmitting data in priority order based on historical usage patterns before the destination microservice needs it. This allows the microservice to begin executing application logic immediately when critical data arrives, improving system responsiveness while maintaining processing accuracy through the pre-calculated optimal data sequence.
Solution Approach 2:
The system introduces dynamics by making the data transmission order adaptive and flexible rather than static. The priority order of data parameters is dynamically determined based on historical usage information specific to each destination microservice, allowing the system to respond efficiently to different processing needs while ensuring accuracy through data-driven prioritization.
Data Source
AI summary
In a cluster of microservice nodes, each microservice node comprises a microservice and microservices form a service mesh. Data communications across the service mesh are controlled to prioritize sequence in which various data parameters are sent to destination nodes, so that data needs of a destination microservice are met as quickly as possible. An originator program receives, from a destination, data usage information relating to access of the data parameters received by a destination program from the originator program. The originator program determines, for the destination microservice, a priority order of the data parameters based on the historic data usage information, and transmits input data in the priority order to the destination program.


