Back to Finagle

Finagle

site/index.html

6.22.03.8 KB
Original Source

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.

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. Finagle is actively maintained by Twitter’s infrastructure team, but we have many external contributors as well. The master branch represents the most recent published release while active development happens on the develop branch. Before endeavoring on large changes, please discuss them with the Google groups to receive feedback and suggestions. For all patches, please review our contributing docs.

Other resources

Companion Projects

In no particular order...

  • Finatra - fast, testable, Scala services built on TwitterServer and Finagle
  • Finch - a pure functional wrapper around Finagle HTTP built with Shapeless and Cats
  • Finagle Serial - a Mux-powered, Finagle protocol over Scala's case classes with a serialization library of your choice
  • Finagle OAuth2 - an OAuth2 server-side provider for Finagle
  • Unfinagled - a small library for using unfiltered as a Finagle frontend
  • Finagle Postgres - Postgres protocol support for Finagle
  • Finagle IRC - an implementation of the IRC protocol on Finagle
  • WebSockets implementation for Finagle
  • Fintop - a top-like utility for monitoring Finagle services
  • Fintrospect - adds an intelligent HTTP routing layer to Finagle. It provides a simple way to implement contracts for both server and client-side HTTP services
  • Airframe HTTP - a library for building REST APIs over Finagle