Distributed Service Discovery Agents for Microservice Scaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems face challenges in scaling service discovery in micro-service environments due to the dynamic nature of container instances, requiring server-side discovery load balancers to track hundreds of thousands or millions of container instances, leading to inefficiencies in memory usage and throughput.
Innovation Solution
A controller updates a service discovery agent on a host computing device with routing data only for container instances providing dependencies of the instantiated micro-service, reducing unnecessary data and optimizing routing by maintaining only relevant routing information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a server-side discovery load balancer tracks all container instances for each micro-service, then service discovery functionality is provided, but memory usage increases significantly
Solution Approach 1:
The patent segments the centralized service discovery system into distributed service discovery agents deployed on individual host computing devices. Each agent maintains routing data only for container instances on its own host, dividing the global routing table into multiple smaller local tables. This segmentation reduces memory usage at each node while collectively providing complete service discovery functionality across the distributed system.
Solution Approach 2:
The patent implements local quality by having each service discovery agent maintain routing data locally for only the container instances on its own host computing device, rather than maintaining global routing information. This localized approach reduces memory requirements at each node while the collective set of agents across all hosts provides comprehensive service discovery capability.
2Loss of information
If a server-side discovery load balancer tracks all container instances, then complete routing information is available, but throughput decreases due to processing overhead
Solution Approach 1:
The patent segments the centralized routing information management into distributed service discovery agents that each handle routing decisions for their local container instances. This segmentation eliminates the single point of processing bottleneck, allowing parallel routing decisions across multiple hosts and significantly improving throughput while maintaining complete routing information availability through the distributed agent network.
Solution Approach 2:
The patent enables self-service by having each service discovery agent autonomously maintain and update its own local routing data without requiring centralized coordination for every routing decision. This self-managing approach reduces processing overhead and increases throughput by eliminating dependency on a central authority for routing operations.
3Adaptability or versatility
If routing data for all container instances is maintained, then comprehensive service discovery is achieved, but system complexity increases
Solution Approach 1:
The patent segments the complex global routing data management into simpler local routing tables at each service discovery agent. Each agent only manages routing information for its own host's container instances, dramatically reducing the complexity at each node. The segmented approach maintains comprehensive service discovery coverage by collectively covering all hosts through the distributed agent network.
4Reliability
If all container instances are tracked in a centralized system, then service discovery works for all micro-services, but scaling becomes difficult
Solution Approach 1:
The patent segments the centralized service discovery system into distributed agents, enabling independent scaling of each host's service discovery capability. New hosts can be added to the system with their own service discovery agents that automatically manage their local container instances, allowing the system to scale horizontally without increasing complexity at existing nodes or creating bottlenecks.
Data Source
AI summary
Disclosed are systems, methods, and computer-readable storage media for scaling service discovery in a micro-service environment. A controller can instantiate, on a host computing device, a first container instance providing a first micro-service of an application. The host computing device can include a service discovery agent. The controller can identify a set of micro-services that are dependencies of the first micro-service, and update the service discovery agent with routing data for container instances providing the set of micro-services that are dependencies of the first micro-service. The service discovery agent can use the routing data to route requests from the first container instance to container instances providing the set of micro-services that are dependencies of the first micro-service.


