Service Routing Preference Propagation in Microservices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In microservices-based distributed systems, existing technologies face challenges in efficiently routing instructions between different service instances while preserving routing preferences, leading to suboptimal load balancing and version management.
Innovation Solution
A method and system that obtain and generate instructions associated with routing preferences, propagating and preserving these preferences through the routing module and service instances, allowing for the selection of preferred service versions based on load balancing policies and routing policies, and storing preferences in cookies for subsequent calls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If routing instructions are propagated through service instances without preserving routing preferences, then system complexity is reduced, but load balancing efficiency deteriorates
Solution Approach 1:
The patent introduces a routing preference object as an intermediary carrier that transports routing information through the service chain. This preference object is embedded in instruction packets and passed between service instances, enabling load balancing decisions without requiring complex direct communication between routing components. The intermediary carries essential routing state (service version preferences, load balancing parameters) through the distributed system.
Solution Approach 2:
The system performs preliminary action by establishing routing preferences before instructions are routed through service instances. The routing preference is determined upfront based on load balancing policies and service version requirements, then attached to the instruction packet. This allows downstream service instances to make informed routing decisions without real-time coordination overhead.
2Manufacturing precision
If routing preferences are preserved and propagated through all service instances, then version management accuracy is improved, but information loss increases
Solution Approach 1:
The patent implements copying by creating replicas of the routing preference object at each service instance along the instruction chain. Each service instance receives a copy of the routing preference, processes it independently, and forwards it to the next instance. This ensures version management accuracy is maintained across all instances while the preference information is preserved through systematic replication rather than sequential transformation.
Solution Approach 2:
The routing preference object is designed as a universal data structure that serves multiple functions simultaneously: it carries service version identification, load balancing parameters, and routing decision criteria. This multi-functional design allows the same object to be processed by different service instances with different requirements, preventing information loss through format conversion or adaptation.
3Reliability
If service versions are selected based on load balancing policies, then system reliability is improved, but routing complexity increases
Solution Approach 1:
The patent applies dynamics by making the routing preference object adaptable and modifiable based on system state. Load balancing policies dynamically adjust routing preferences according to current service instance availability, load conditions, and version compatibility requirements. This allows the system to maintain reliability through flexible, state-aware routing decisions while avoiding hard-coded complex routing logic.
Data Source
AI summary
A method comprising: obtaining a first instruction for a first service, the first instruction being associated with a routing preference; generating a second instruction for the first service based on the first instruction; associating the second instruction with the routing preference; and providing the second instruction to the first service, wherein associating the second instruction with the routing preference includes at least one of inserting an indication of the routing preference in the second instruction.


