Finagle Starter Kit

screenshot of Finagle Starter Kit

Getting started with Finagle

Overview

Finagle is an impressive solution for developers looking for a fault-tolerant, protocol-agnostic Remote Procedure Call (RPC) system. This technology is particularly useful for building distributed systems where resilience and stability are key. Created by Twitter, Finagle provides a robust framework that can handle various protocols, making it versatile for different application environments.

The system's capability to run on both sbt and standalone provides flexibility and ease of use, allowing developers to choose the setup that best fits their workflow. With extensive configuration options and support for Scala, Finagle is designed for those who value efficiency and performance in their development processes.

Features

  • Fault Tolerance: Built to handle failures gracefully, ensuring your applications remain operational even when issues arise.
  • Protocol Agnostic: Supports multiple protocols, enabling integration with different services and systems seamlessly.
  • Customizable Configuration: Flexible configuration options available in the config directory, allowing for adjustments in logging, ports, and more.
  • ClientBuilder Alternative: Provides an alternative client that can be executed via sbt or as a standalone application for greater convenience.
  • Simultaneous Connections: The Scala client supports concurrent connections with customizable settings, letting you scale requests as per your needs.
  • Request Timeout Options: Built-in parameters allow you to specify timeouts for replies, helping to manage performance expectations.
  • Heap Profiling: Future updates may introduce runtime heap profiling capabilities through tools like Heapster, enhancing performance monitoring.
  • JMX Integration: Features a JMX example for those looking to implement Java Management Extensions for better process management.