Distributed Service Discovery Agents for Microservice Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveservice discovery functionalityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improverouting information completenessVSAvoidthroughput
Core Design Contradiction:
Loss of informationVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If routing data for all container instances is maintained, then comprehensive service discovery is achieved, but system complexity increases

Engineering Contradiction:
Improveservice discovery coverageVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

4Reliability

If all container instances are tracked in a centralized system, then service discovery works for all micro-services, but scaling becomes difficult

Engineering Contradiction:
Improveservice discovery functionalityVSAvoidscalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10348838B2Scaling service discovery in a micro-service environment
Publication Date: 2019.07.09 CISCO TECHNOLOGY INC
  • US10348838B2 patent drawing
  • US10348838B2 patent drawing
  • US10348838B2 patent drawing

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.