Finagle - RPC系统


Apache
跨平台
Java

软件简介

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!