Finagle 是一个容错的、与协议无关的用于 JVM 的RPC系统。Finagle 使用 sbt 进行构建。Finagle 来自 Twitter !它使得在 Java、Scala 或任何基于 JVM 的语言重构建鲁棒的客户端和服务器非常容易。Finagle 支持广泛的基于请求/答复的 RPC 协议和很多类型的流协议
使用 Finagle 可以快速实现异步的远程方法调用 RPC 客户端和服务器端,本身足够灵活支持多种 RPC 变种,包括请求响应式、流和管道模式,如 HTTP 管道和 Redis 管道,也可轻松的有状态的 RPC 一起运行,例如那些需要认证的 RPC 服务。
Connection Pooling
Load Balancing
Failure Detection
Failover/Retry
Distributed Tracing (à la Dapper)
Service Discovery (e.g., via Zookeeper)
Rich Statistics
Native OpenSSL Bindings
Backpressure (to defend against abusive clients)
Service Registration (e.g., via Zookeeper)
Distributed Tracing
Native OpenSSL bindings
HTTP
HTTP streaming (Comet)
Thrift
Memcached/Kestrel
More to come!