What is finagle?

Finagle is an open-source network protocol library developed by Twitter. It is a sophisticated networking library used primarily for building distributed systems. The library provides multiple APIs for building scalable, fault-tolerant, and high-performance applications. Finagle provides support for various protocols such as HTTP, Thrift, Memcached, MySQL, etc., which enables it to be used for building distributed applications.

Finagle is built on the concept of Futures and Futures composition, which makes it easier for developers to write asynchronous, concurrent, and fault-tolerant applications. It also provides support for handling timeouts, load balancing, circuit breaking, and service discovery.

Finagle is written in Scala, but it provides APIs for multiple languages such as Java, Python, Ruby, etc. The library is widely used in large scale distributed systems and has been adopted by companies like Twitter, SoundCloud, Foursquare, and LinkedIn. It is licensed under the Apache License 2.0 and is available on GitHub.