Router-Based Stateful Container Hot Upgrade Without Service Interruption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current container orchestration systems face challenges in performing hot upgrades of secondary application containers without causing service interruptions, particularly in scenarios where primary and secondary application containers are tightly coupled, necessitating complex coordination and state migration processes that affect the availability of the primary application's service.
Innovation Solution
A method and system that automatically migrates the state of a secondary application container during a hot upgrade by introducing a router container to manage network traffic between the old and new versions, monitoring the status of the upgraded container, and seamlessly transitioning service requests, ensuring uninterrupted operation of the primary application container.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a secondary application container is upgraded by stopping and restarting it, then the container can be updated to a new version, but the service provided by the primary application container is interrupted
Solution Approach 1:
The patent creates a new secondary application container with the upgraded version before the old container is stopped. The new container is prepared in advance with all necessary configurations and dependencies, ensuring that when the switch occurs, service continuity is maintained without interruption.
Solution Approach 2:
The patent introduces a router container as an intermediary component that manages traffic routing between external services and secondary application containers. During the upgrade process, the router container seamlessly redirects traffic from the old container to the new container, preventing service interruption and enabling smooth transition.
2Reliability
If manual state migration is performed during container upgrade, then state data can be transferred, but the upgrade process becomes complex and time-consuming
Solution Approach 1:
The patent implements automatic state migration where the system autonomously handles the transfer of state data from the old secondary application container to the new one. The migration process is automated through orchestration that detects the need for migration, executes the data transfer, and validates completeness without requiring manual intervention, thereby reducing complexity while maintaining data integrity.
3Reliability
If the old secondary application container is kept running during upgrade, then service continuity is maintained, but resources are wasted and the upgrade is not complete
Solution Approach 1:
The router container acts as a mediator that manages the transition period. It gradually shifts traffic from the old container to the new container, allowing the old container to be stopped in a controlled manner after the new container is verified to be functioning correctly, thus avoiding resource waste while maintaining service continuity.
Solution Approach 2:
The system implements a feedback mechanism that monitors the status of the new secondary application container during and after the upgrade. Once the new container is confirmed to be running correctly and handling services properly, the system provides feedback to trigger the deletion of the old container, ensuring resources are freed efficiently without compromising service continuity.
Data Source
AI summary
Secondary application container hot upgrade is provided. It is determined whether an upgraded secondary application container is ready to run in a pod that includes a secondary application container, a router container, and a primary application container based on monitoring a status of the upgraded secondary application container. The router container is directed to send a subsequent external service request to the upgraded secondary application container to manage for the primary application container in response to determining that the upgraded secondary application container is ready to run. The secondary application container is deleted from the pod that includes the upgraded secondary application container in response to directing the router container to send the subsequent external service request to the upgraded secondary application container to manage for the primary application container. The router container is deleted from the pod in response to deleting the secondary application container from the pod.


