Customizable Router for Microservice Traffic Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing traffic between microservice applications in a cloud-based architecture is challenging, especially in large hybrid/multi-cloud environments, where rolling out new versions of microservices can disrupt other dependent services, and there is a need for dynamic routing capabilities to support testing and operational features like A/B testing and Canary releases.

Innovation Solution

A customizable router that allows administrators to route traffic between microservice applications and their versions based on predefined rules, using graphical user interfaces for configuration and monitoring, enabling weighted routing, sticky routing, experience-based routing, and real-time configuration management to manage traffic efficiently and effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traffic is routed to a new version of microservice application, then new features and improvements are deployed, but service disruption and downtime occur affecting dependent services

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidservice continuity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The router dynamically adjusts traffic routing based on real-time conditions, allowing seamless transition between microservice versions. The system can switch routing configurations on-the-fly without service interruption, enabling continuous deployment while maintaining service availability through automated health checks and conditional routing rules

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The router acts as an intermediary layer between clients and microservice applications, absorbing the impact of version transitions. By introducing this mediation layer, the system can route traffic to different versions based on predefined rules and conditions, preventing direct service disruption while enabling controlled rollout of new versions

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If traffic routing is manually configured, then routing control is achieved, but operational complexity and time consumption increase

Engineering Contradiction:
Improverouting configurationVSAvoidconfiguration time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The router implements self-service capabilities through automated health checking, version detection, and conditional routing rule generation. The system automatically monitors microservice health status and adjusts traffic routing based on predefined conditions without requiring manual intervention, significantly reducing configuration time while maintaining operational control

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system manages routing configuration through parameter-based rules that can be dynamically adjusted. By using configurable parameters such as health thresholds, version priorities, and traffic splitting ratios, the system enables rapid routing changes without complex manual reconfiguration, reducing operational time while preserving control flexibility

Inventive Principle:
Principle #35Parameter changes

3Stability of the object's composition

If all traffic is routed to a single microservice version, then service consistency is maintained, but testing capabilities and operational flexibility are reduced

Engineering Contradiction:
Improveservice consistencyVSAvoidtesting capability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The router implements partial traffic routing where only a portion of traffic is directed to new microservice versions for testing, while the remainder continues to flow to stable versions. This allows service consistency to be maintained for the majority of traffic while enabling controlled testing and validation of new features with a subset of users or requests

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Different routing strategies are applied to different portions of traffic based on local conditions. The system can apply specific routing rules to particular user groups, geographic regions, or request types, allowing service consistency for standard operations while enabling targeted testing and experimentation for specific segments without affecting overall system stability

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11949749B2Customizable router for managing traffic between application programming interfaces
Publication Date: 2024.04.02 HOME DEPOT PRODUCT AUTHORITY LLC
  • US11949749B2 patent drawing
  • US11949749B2 patent drawing
  • US11949749B2 patent drawing

AI summary

A customizable router manages traffic between application programming interfaces (APIs) of microservice applications (apps) that make up various features of a website. Various datastores may also be used to store information, such as information related to certain products, pricing, users, etc. In order for the website to function properly, the microservice apps communicate with one another and with the datastores. The customizable router is used to manage and route traffic between the microservice apps and/or datastores. The customizable router may, for example, route a universal resource indicator (URI) request for a webpage of a website to particular versions or revisions of a microservice app based on rules established for the customizable router. For example, a certain percentage of traffic may be routed to a first version of a microservice app, while a different percentage of traffic may be routed to a second version of the microservice app.