Alternatives to Finagle logo

Alternatives to Finagle

Finatra, gRPC, Akka, Spring Boot, and Play are the most popular alternatives and competitors to Finagle.
67
97
+ 1
10

What is Finagle and what are its top alternatives?

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.
Finagle is a tool in the Concurrency Frameworks category of a tech stack.
Finagle is an open source tool with 8.5K GitHub stars and 1.4K GitHub forks. Here’s a link to Finagle's open source repository on GitHub

Top Alternatives to Finagle

  • Finatra
    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. ...

  • gRPC
    gRPC

    gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking... ...

  • Akka
    Akka

    Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM. ...

  • Spring Boot
    Spring Boot

    Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration. ...

  • Play
    Play

    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. ...

  • Akka HTTP
    Akka HTTP

    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. ...

  • RxJS
    RxJS

    RxJS is a library for reactive programming using Observables, to make it easier to compose asynchronous or callback-based code. This project is a rewrite of Reactive-Extensions/RxJS with better performance, better modularity, better debuggable call stacks, while staying mostly backwards compatible, with some breaking changes that reduce the API surface. ...

  • Netty
    Netty

    Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server. ...

Finagle alternatives & related posts

Finatra logo

Finatra

34
49
13
Fast, testable, Scala services built on TwitterServer and Finagle, by Twitter
34
49
+ 1
13
PROS OF FINATRA
  • 7
    Fast
  • 6
    Easy
CONS OF FINATRA
    Be the first to leave a con

    related Finatra posts

    gRPC logo

    gRPC

    1.2K
    1.2K
    59
    A high performance, open-source universal RPC framework
    1.2K
    1.2K
    + 1
    59
    PROS OF GRPC
    • 25
      Higth performance
    • 14
      The future of API
    • 12
      Easy setup
    • 4
      Polyglot
    • 4
      Contract-based
    CONS OF GRPC
      Be the first to leave a con

      related gRPC posts

      Dylan Krupp
      Shared insights
      on
      gRPCgRPCGraphQLGraphQL

      I used GraphQL extensively at a previous employer a few years ago and really appreciated the data-driven schema etc alongside the many other benefits it provided. At that time, it seemed like it was set to replace RESTful APIs and many companies were adopting it.

      However, as of late, it seems like interest has been waning for GraphQL as opposed to increasing as I had assumed it would. Am I missing something here? What is the current perspective regarding this technology?

      Currently, I'm working with gRPC and was curious as to the state of everything now.

      See more
      Shared insights
      on
      gRPCgRPCSignalRSignalR.NET.NET

      We need to interact from several different Web applications (remote) to a client-side application (.exe in .NET Framework, Windows.Console under our controlled environment). From the web applications, we need to send and receive data and invoke methods to client-side .exe on javascript events like users onclick. SignalR is one of the .Net alternatives to do that, but it adds overhead for what we need. Is it better to add SignalR at both client-side application and remote web application, or use gRPC as it sounds lightest and is multilingual?

      SignalR or gRPC are always sending and receiving data on the client-side (from browser to .exe and back to browser). And web application is used for graphical visualization of data to the user. There is no need for local .exe to send or interact with remote web API. Which architecture or framework do you suggest to use in this case?

      See more
      Akka logo

      Akka

      969
      957
      88
      Build powerful concurrent & distributed applications more easily
      969
      957
      + 1
      88
      PROS OF AKKA
      • 32
        Great concurrency model
      • 17
        Fast
      • 12
        Actor Library
      • 10
        Open source
      • 7
        Resilient
      • 5
        Message driven
      • 5
        Scalable
      CONS OF AKKA
      • 3
        Mixing futures with Akka tell is difficult
      • 2
        Closing of futures
      • 2
        No type safety
      • 1
        Very difficult to refactor
      • 1
        Typed actors still not stable

      related Akka posts

      To solve the problem of scheduling and executing arbitrary tasks in its distributed infrastructure, PagerDuty created an open-source tool called Scheduler. Scheduler is written in Scala and uses Cassandra for task persistence. It also adds Apache Kafka to handle task queuing and partitioning, with Akka to structure the library’s concurrency.

      The service’s logic schedules a task by passing it to the Scheduler’s Scala API, which serializes the task metadata and enqueues it into Kafka. Scheduler then consumes the tasks, and posts them to Cassandra to prevent data loss.

      See more
      Shared insights
      on
      AkkaAkkaKafkaKafka

      I decided to use Akka instead of Kafka streams because I have personal relationships at @Lightbend.

      See more
      Spring Boot logo

      Spring Boot

      22.2K
      20.1K
      997
      Create Spring-powered, production-grade applications and services with absolute minimum fuss
      22.2K
      20.1K
      + 1
      997
      PROS OF SPRING BOOT
      • 142
        Powerful and handy
      • 132
        Easy setup
      • 125
        Java
      • 90
        Spring
      • 85
        Fast
      • 46
        Extensible
      • 37
        Lots of "off the shelf" functionalities
      • 32
        Cloud Solid
      • 26
        Caches well
      • 24
        Many receipes around for obscure features
      • 24
        Productive
      • 23
        Integrations with most other Java frameworks
      • 23
        Modular
      • 22
        Spring ecosystem is great
      • 21
        Fast Performance With Microservices
      • 20
        Auto-configuration
      • 18
        Community
      • 17
        Easy setup, Community Support, Solid for ERP apps
      • 15
        One-stop shop
      • 14
        Cross-platform
      • 14
        Easy to parallelize
      • 13
        Powerful 3rd party libraries and frameworks
      • 13
        Easy setup, good for build erp systems, well documented
      • 12
        Easy setup, Git Integration
      • 5
        It's so easier to start a project on spring
      • 4
        Kotlin
      CONS OF SPRING BOOT
      • 23
        Heavy weight
      • 17
        Annotation ceremony
      • 13
        Java
      • 11
        Many config files needed
      • 5
        Reactive
      • 4
        Excellent tools for cloud hosting, since 5.x

      related Spring Boot posts

      Praveen Mooli
      Engineering Manager at Taylor and Francis · | 18 upvotes · 2.7M views

      We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

      To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

      To build #Webapps we decided to use Angular 2 with RxJS

      #Devops - GitHub , Travis CI , Terraform , Docker , Serverless

      See more

      Is learning Spring and Spring Boot for web apps back-end development is still relevant in 2021? Feel free to share your views with comparison to Django/Node.js/ ExpressJS or other frameworks.

      Please share some good beginner resources to start learning about spring/spring boot framework to build the web apps.

      See more
      Play logo

      Play

      719
      583
      495
      The High Velocity Web Framework For Java and Scala
      719
      583
      + 1
      495
      PROS OF PLAY
      • 81
        Scala
      • 55
        Built on akka
      • 55
        Web-friendly architecture
      • 50
        Stateless
      • 47
        High-scalable
      • 46
        Fast
      • 40
        Open source
      • 34
        Java
      • 27
        High velocity
      • 24
        Fun
      • 9
        Lightweight
      • 8
        Non-blocking io
      • 5
        Developer friendly
      • 5
        Simple template engine
      • 4
        Scalability
      • 3
        Pure love
      • 2
        Resource efficient
      CONS OF PLAY
      • 3
        Evolves fast, keep up with releases
      • 1
        Unnecessarily complicated

      related Play posts

      Alex A

      Some may wonder why did we choose Grails ? Really good question :) We spent quite some time to evaluate what framework to go with and the battle was between Play Scala and Grails ( Groovy ). We have enough experience with both and, to be honest, I absolutely in love with Scala; however, the tipping point for us was the potential speed of development. Grails allows much faster development pace than Play , and as of right now this is the most important parameter. We might convert later though. Also, worth mentioning, by default Grails comes with Gradle as a build tool, so why change?

      See more
      Akka HTTP logo

      Akka HTTP

      50
      46
      0
      HTTP client and server built on Akka actors and streams
      50
      46
      + 1
      0
      PROS OF AKKA HTTP
        Be the first to leave a pro
        CONS OF AKKA HTTP
          Be the first to leave a con

          related Akka HTTP posts

          RxJS logo

          RxJS

          2.8K
          597
          19
          The Reactive Extensions for JavaScript
          2.8K
          597
          + 1
          19
          PROS OF RXJS
          • 5
            Easier async data chaining and combining
          • 3
            Steep learning curve, but offers predictable operations
          • 2
            Easier testing
          • 2
            Ability to build your own stream
          • 2
            Works great with any state management implementation
          • 1
            Lot of build-in operators
          • 1
            Simplifies state management
          • 1
            Observable subjects
          • 1
            Great for push based architecture
          • 1
            Documentation
          CONS OF RXJS
          • 3
            Steep learning curve

          related RxJS posts

          Netty logo

          Netty

          257
          375
          16
          Asynchronous event-driven network application framework
          257
          375
          + 1
          16
          PROS OF NETTY
          • 9
            High Performance
          • 4
            Easy to use
          • 3
            Just like it
          CONS OF NETTY
          • 2
            Limited resources to learn from

          related Netty posts