Skip to content
A fault tolerant, protocol-agnostic RPC system
Scala Java Python Ruby Thrift Lua Other
Latest commit fb093db @roanta roanta committed with jenkins Revert "finagle-mux: Interrupt server writes on Tdiscarded"
Failed to load latest commit information.
bin finagle: modified travisci script to default to scala 2.11.7
doc finagle-docs: Fixed typo in Finagle Configuration doc
finagle-benchmark-thrift/src/main/thrift finagle-benchmark: Move the thrift out to work around the nested obje…
finagle-benchmark finagle-*: fix typos
finagle-cacheresolver finagle: cleanup build warnings
finagle-commons-stats you don't need specs
finagle-core finagle-core: Skip TimeoutFilter when possible
finagle-example csl: disable fatal warnings in java targets
finagle-exception maven layout goes away
finagle-exp you don't need specs
finagle-http-compat finagle: cleanup build warnings
finagle-http util, finagle, scrooge: Add ryano to More Owners Files
finagle-integration finagle: cleanup build warnings
finagle-kestrel csl: disable fatal warnings in java targets
finagle-mdns finagle: cleanup build warnings
finagle-memcached finagle-*: fix typos
finagle-mux Revert "finagle-mux: Interrupt server writes on Tdiscarded"
finagle-mysql finagle-*: fix typos
finagle-native finagle: cleanup build warnings
finagle-netty4 Revert "finagle-mux: fragment payloads for data messages."
finagle-ostrich4 finagle: cleanup build warnings
finagle-redis finagle-*: fix typos
finagle-serversets you don't need specs
finagle-spdy finagle: cleanup build warnings
finagle-stats finagle-stats: Let flag statsFilterFile take multiple files
finagle-stream finagle-test: remove package
finagle-testers finagle-*: fix typos
finagle-thrift finagle-*: fix typos
finagle-thriftmux add dschobel to finagle-core, finagle-mux, finagle-thriftmux owners
finagle-validate finagle: cleanup build warnings
finagle-zipkin finagle-test: remove package
project finagle - Update scrooge-sbt-plugin version
site finagle-site: add link to fintrospect
.gitignore fix broken WatermarkPool link in doc, also add *.pyc to .gitignore
.mailmap add a .mailmap
.travis.yml Disable openjdk7 in Travis CI builds Update
CHANGES release: Prepare libraries for OSS release
CONFIG.ini finagle: fix config for docbird finagle: modified travisci script to default to scala 2.11.7
CONTRIBUTORS [split] finagle-doc: beginnings of a finagle user's guide
GROUPS [split] Use new git-review with simplified OWNERS/GROUPS
LICENSE Project scaffolding
OWNERS Goodbye finagle: Add links to our Code of Conduct [split] finagle-core: introduce Transports and Dispatchers
pushsite.bash finagle: Documentation Generation Cleanup
sbt Fix sbt jar retrieval


Build status Coverage status Project status Gitter Maven Central


This project is used in production at Twitter (and many other organizations), and is being actively developed and maintained.

Finagle logo

Getting involved

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.

For extensive documentation, please see the user guide and API documentation websites. Documentation improvements are always welcome, so please send patches our way.


The following are a few of the companies that are using Finagle:

For a more complete list, please see our adopter page. If your organization is using Finagle, consider adding a link there and sending us a pull request!


We feel that a welcoming community is important and we ask that you follow Twitter's Open Source Code of Conduct in all interactions with the community.

The master branch of this repository contains the latest stable release of Finagle, and weekly snapshots are published to the develop branch. In general pull requests should be submitted against develop. See for more details about how to contribute.

Something went wrong with that request. Please try again.