What is Finatra?
At Twitter, Finagle provides the building blocks for most of the code written on the JVM. It has long-served as Twitter's extensible, protocol-agnostic, highly-scalable RPC framework.
Finatra is a tool in the Frameworks (Full Stack) category of a tech stack.
Finatra is an open source tool with 2.1K GitHub stars and 388 GitHub forks. Here’s a link to Finatra's open source repository on GitHub
Who uses Finatra?
6 companies reportedly use Finatra in their tech stacks, including ZocDoc, Criteo, and Clara Lending.
27 developers on StackShare have stated that they use Finatra.
Pros of Finatra
- Production use as Twitter’s HTTP framework
- ~50 times faster than v1.6 in several benchmarks
- Powerful feature and integration test support
- Optional JSR-330 Dependency Injection using Google Guice
- Jackson based JSON parsing supporting required fields, default values, and custom validations
- Logback MDC integration with com.twitter.util.Local for contextual logging across futures
Finatra Alternatives & Comparisons
What are some alternatives to Finatra?
See all alternatives
Play Framework makes it easy to build web applications with Java & Scala. Play is based on a lightweight, stateless, web-friendly architecture. Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.
It combines the power of the JVM with the beauty and brevity of Scala, helping you quickly build high-performance web sites and APIs.
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.
The Akka HTTP modules implement a full server- and client-side HTTP stack on top of akka-actor and akka-stream. It’s not a web-framework but rather a more general toolkit for providing and consuming HTTP-based services. While interaction with a browser is of course also in scope it is not the primary focus of Akka HTTP.
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.