Finagle 是基於JVM的網路框架/堆疊,開發者能在之上使用Java,Scala或任何基於JVM程式語言來開發非同步運算的RPC Client/Server,其專案是 Twitter 總結了實務上遇到的問題,所設計的分散式系統方案,並在2011的7月開放源始碼,目前功能如下表
Protocols
- HTTP
- Streaming HTTP (Comet)
- Thrift
- Memcached/Kestrel
- More to come!
Server Support
- Backpressure (to defend against abusive clients)
- Service Registration (e.g., via Zookeeper)
- Native OpenSSL bindings
Client Support
- Connection Pooling
- Load Balancing
- Failure Detection
- Failover/Retry
- Distributed Tracing (a la Dapper)
- Service Discovery (e.g., viaZookeeper)
- Rich Statistics
- Native OpenSSL bindings
- Sharding