Container DNS Message Sharing to Cut Lookup Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Serverless and run-to-completion workloads in container-based execution face significant latency due to redundant DNS lookups, especially in scenarios with frequent invocations and distributed processing, leading to increased load on DNS infrastructure and potential denial-of-service attacks.
Innovation Solution
A method for organizing DNS information distribution across nodes in a computer network by aggregating DNS information in a first node, generating a DNS message, and transmitting it to other nodes for use in container-based executions, thereby reducing redundant lookups and load on DNS servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If each container instance performs its own DNS lookups independently, then DNS information can be obtained reliably, but latency increases and DNS infrastructure load increases
Solution Approach 1:
The system performs DNS lookups in advance during container initialization or idle periods, and caches the results for subsequent use. This preliminary action ensures that when the container needs to access external services, the DNS resolution has already been completed, eliminating latency during actual operations.
Solution Approach 2:
Multiple container instances share a common DNS cache mechanism, merging their DNS lookup operations into a single coordinated system. This allows one container's DNS resolution results to be utilized by other containers, reducing redundant lookups and overall latency while maintaining reliable DNS information availability.
2Adaptability or versatility
If multiple container instances perform redundant DNS lookups, then each instance can operate independently, but load on DNS infrastructure increases causing potential denial-of-service attacks
Solution Approach 1:
Instead of each container independently querying DNS servers, the system creates a shared copy of DNS resolution results that can be replicated across multiple container instances. This copying mechanism allows containers to operate independently while utilizing pre-resolved DNS information, dramatically reducing the load on external DNS infrastructure.
Solution Approach 2:
An intermediary DNS caching layer is introduced between container instances and external DNS servers. This mediator captures, caches, and manages DNS resolution results, allowing multiple containers to access DNS information without directly querying external servers simultaneously, thus reducing infrastructure load while maintaining container independence.
3Reliability
If DNS cache is emptied on each container start, then container isolation is maintained, but latency increases due to repeated DNS lookups
Solution Approach 1:
The DNS caching system implements local quality by maintaining isolated DNS caches for different container instances or namespaces, while still allowing controlled sharing of resolution results. Each container maintains its own local DNS cache state for isolation, but the system quality is improved by allowing selective sharing of commonly used DNS entries across containers, reducing latency without compromising isolation.
Data Source
AI summary
A method of organizing distribution of information related to a domain name system, DNS, in a computer network is provided. The method includes, by a first node of the computer network: performing a container-based execution of a first instance of a software application, thereby aggregating DNS information specific to the software application; generating a DNS message indicative of the DNS information; and transmitting the DNS message to a second node of the computer network for usage of the DNS information by a container-based execution of a second instance of the software application.


