A Java library for managing service-level fault isolation using Amazon Route 53 DNS with Lattice containers and ShuffleShard sharding.
Amazon Route 53 Infima is a Java library that enhances service resilience through structured fault isolation using Amazon Route 53 DNS. It provides tools to model service dependencies, simulate failures, and automatically generate DNS configurations that maintain availability during outages. The library focuses on proactive fault isolation by categorizing endpoints along dimensions like availability zones and automating DNS-based failover strategies.
Java developers building highly available, fault-tolerant services on AWS, particularly those using Amazon Route 53 for DNS-based service discovery and failover. It is suited for teams managing complex, multi-dimensional service architectures that require granular control over fault isolation.
Developers choose Infima for its integrated approach to modeling fault isolation dimensions and automatically generating resilient DNS configurations, which reduces manual configuration errors. Its unique selling points include Lattice-aware ShuffleSharding to exponentially reduce blast radius and RubberTree for automatically computing weighted DNS failover setups with standby records.
Library for managing service-level fault isolation using Amazon Route 53.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The Lattice framework allows endpoints to be categorized along dimensions like availability zones and software versions, enabling precise failure simulation as shown in the README's two-dimensional compartmentalization examples.
ShuffleShard assigns multiple endpoints per identifier (e.g., user) to minimize overlap, reducing impact during traffic faults to 1/(N choose K), which dramatically limits service-wide outages.
RubberTree automatically converts Lattices and ShuffleShards into weighted Route 53 DNS failover setups with standby records, handling complex configurations like zero-weighted branches for health-based routing.
AnswerSet generates Route 53 record sets with chained ALIASes that depend on multiple health checks, ensuring endpoint discovery only when all associated checks pass, as detailed in the DNS chain example.
Infima is tightly coupled with Amazon Route 53 and the AWS SDK for Java, making it unsuitable for multi-cloud environments or services using other DNS providers, which limits portability.
Modeling fault dimensions like two-dimensional lattices and configuring ShuffleShards requires deep understanding of service architecture, and the README lacks step-by-step tutorials for common use cases.
The library relies on external AWS SDK documentation, and there's no mention of community support or integrations beyond Java, which could hinder adoption in polyglot environments.