A fault tolerant, protocol-agnostic RPC system
Scala Java Python Ruby Thrift Lua Other
Latest commit 3f228b9 Dec 6, 2016 @vkostyukov vkostyukov committed with jenkins finagle-netty4: Reject (by default) client initiated TLS/SSL session …
…renegotiations

Problem / Solution

We want to provide a sane default and do the right thing out
of the box, by rejecting the client initiated TLS/SSL session
renegotiations. By doing that, we also preserve the behavior
of Finagle running Netty 3.

RB_ID=895871
Permalink
Failed to load latest commit information.
.github Twitter OSS: Add ISSUE_TEMPLATE Jul 7, 2016
doc finagle/finagle-http: Remove files duplicated in finagle-base-http Nov 28, 2016
finagle-base-http finagle-base-http: Provide JSON patch ContentType Nov 21, 2016
finagle-benchmark-thrift/src/main/thrift finagle-benchmark: Move the thrift out to work around the nested obje… Oct 12, 2015
finagle-benchmark Remove Target “default” name in BUILD files - batch 2 Nov 7, 2016
finagle-commons-stats Remove Target “default” name in BUILD files - batch 2 Nov 7, 2016
finagle-core finagle-core: Add banderson as OWNER Dec 8, 2016
finagle-example finagle-thrift: Remove deprecated methods from ThriftRichClient Nov 21, 2016
finagle-exception Fix (some more) deprecated usage of ThriftClientFramedCodec Nov 14, 2016
finagle-exp Remove Target “default” name in BUILD files - batch 2 Nov 7, 2016
finagle-http-compat Remove Target “default” name in BUILD files - batch 2 Nov 7, 2016
finagle-http DPB-7578: add used but undeclared dependencies (4/) Dec 8, 2016
finagle-http2 Remove duplicated initializer in Http2CleartextServerInitializer Dec 6, 2016
finagle-integration finagle-http2: Add protocol library to http/2 configuration Nov 28, 2016
finagle-kestrel finagle/finagle-kestrel: Create MultiReaderThriftMux and migrate all … Dec 5, 2016
finagle-mdns Remove Target “default” name in BUILD files - batch 2 Nov 7, 2016
finagle-memcached DPB-7578: add used but undeclared dependencies (4/) Dec 8, 2016
finagle-mux source: Deprecate com.twitter.util.NonFatal Dec 5, 2016
finagle-mysql finagle-mysql: remove reference to head of stream in StdCursorResult Dec 6, 2016
finagle-native source: Deprecate com.twitter.util.NonFatal Dec 5, 2016
finagle-netty4-http Remove Target “default” name in BUILD files - batch 2 Nov 7, 2016
finagle-netty4 finagle-netty4: Reject (by default) client initiated TLS/SSL session … Dec 8, 2016
finagle-ostrich4 twitter-server: Add ability to specify admin interface UI grouping, a… Nov 14, 2016
finagle-redis finagle-redis: Property-based tests for decoding Redis replies Dec 5, 2016
finagle-serversets source: Deprecate com.twitter.util.NonFatal Dec 5, 2016
finagle-spdy Remove Target “default” name in BUILD files - batch 2 Nov 7, 2016
finagle-stats source: Deprecate com.twitter.util.NonFatal Dec 5, 2016
finagle-stream Remove Target “default” name in BUILD files - batch 2 Nov 7, 2016
finagle-thrift finagle-thrift: Deprecate ThriftClientFramedCodec{Factory} Dec 8, 2016
finagle-thriftmux source: Deprecate com.twitter.util.NonFatal Dec 5, 2016
finagle-toggle Remove Target “default” name in BUILD files - batch 2 Nov 7, 2016
finagle-zipkin-core source: Deprecate com.twitter.util.NonFatal Dec 5, 2016
finagle-zipkin source: Deprecate com.twitter.util.NonFatal Dec 5, 2016
project finagle/finagle-kestrel: Create MultiReaderThriftMux and migrate all … Dec 5, 2016
site finagle-site: add link to fintrospect Feb 4, 2016
.gitignore fix broken WatermarkPool link in doc, also add *.pyc to .gitignore Feb 23, 2015
.mailmap add a .mailmap Dec 16, 2011
.travis.yml oss: Remove --error from travis commands Sep 19, 2016
ADOPTERS.md Adding EnerNOC Inc to the list of adopters Nov 7, 2016
CHANGES finagle-netty4: Reject (by default) client initiated TLS/SSL session … Dec 8, 2016
CONFIG.ini Fix some lint errors in CONFIG.ini and OWNERS - missing newlines - tr… Feb 29, 2016
CONTRIBUTING.md Update docs on contributing Sep 7, 2016
CONTRIBUTORS [split] finagle-doc: beginnings of a finagle user's guide Feb 21, 2013
GROUPS [split] Use new git-review with simplified OWNERS/GROUPS May 18, 2012
LICENSE Project scaffolding Oct 18, 2010
OWNERS remove marius from OWNERS Aug 8, 2016
README.md Update docs on contributing Sep 7, 2016
link-netty.sh [split] finagle-core: introduce Transports and Dispatchers Apr 12, 2012
pushsite.bash finagle,finatra,scrooge,twitter-server,util: Update site scripts Nov 7, 2016
sbt Update docs on contributing Sep 7, 2016

README.md

Finagle

Build status Codecov branch Project status Gitter Maven Central

Status

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

Finagle logo

Releases

Releases are done on an approximately monthly schedule. While semver is not followed, the changelogs are detailed and include sections on public API breaks and changes in runtime behavior.

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.

Adopters

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!

Contributing

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 CONTRIBUTING.md for more details about how to contribute.