finagle

     Finagle is an extensible RPC system for the JVM, used to      construct high-concurrency servers. Finagle implements uniform      client and server APIs for several protocols, and is designed      for high performance and concurrency. Most of Finagle’s code is      protocol agnostic, simplifying the implementation of new      protocols.

Finagle is written in Scala, but provides both Scala and Java idiomatic      APIs.

为了轻松、安全编写和部署一个网络服务,Finagle 提供了以下功能的鲁棒实现:

  • 连接池(connection pool):带有限流(throttling)支持以防止 TCP 连接搅动(churn);

  • 故障检测器(failure detector),用于识别太慢或者崩溃了的主机;

  • 失效备援策略(failover strategies),用于把流量从不健康的主机上引开;

  • 平衡负载器(load-balancer),包括“最少连接”和其它策略;以及

  • 背压(back-pressure)技术,用于保护服务器免受客户端滥用或者叠罗汉(或DoS攻击)。

此外,Finagle 还让构造和部署下列服务变得容易:

  • 发布标准统计信息、日志和异常报告;

  • 支持跨协议的分布式追踪(以 Dapper 形式);

  • 选择性地使用 ZooKeeper 用于集群管理;以及

  • 支持常见切分(sharding)策略。

你可能感兴趣的:(finagle)