Clone this wiki locally
Astyanax provides a complete abstraction of the connection pool implementation from the API layer. Some key features include,
- Automatic failover with context
- Pinning request to a specific host
- Host partitions based on token ranges
- Pluggable latency tracking strategy
- Pluggable host selection (ex. Round Robin, Lowest latency first)
- Pluggable bad host detector to determine when to mark a host as down (ex. if it times out too frequently)
- Pluggable monitor interface. There is no logging inside the connection pool.
- Pluggable host retry backoff strategy.
- Pluggable node discovery strategy. Can use ring_describe or custom node registry service.
- Minimal use of synchronized by using non-blocking data structures
- Basic round robin
- Token aware
- Bag of connections