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