Alternatives to JSON-RPC logo

Alternatives to JSON-RPC

gRPC, GraphQL, REST, Apache Dubbo, and Tars are the most popular alternatives and competitors to JSON-RPC.
26
39
+ 1
0

What is JSON-RPC and what are its top alternatives?

It is a very simple protocol, defining only a few data types and commands. It allows for notifications (data sent to the server that does not require a response) and for multiple calls to be sent to the server which may be answered out of order.
JSON-RPC is a tool in the Remote Procedure Call (RPC) category of a tech stack.

Top Alternatives to JSON-RPC

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

  • GraphQL
    GraphQL

    GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012. ...

  • REST
    REST

    An architectural style for developing web services. A distributed system framework that uses Web protocols and technologies. ...

  • Apache Dubbo
    Apache Dubbo

    It is a high-performance, light weight, java based RPC framework. Dubbo offers three key functionalities, which include interface based remote call, fault tolerance & load balancing, and automatic service registration & discovery. ...

  • Tars
    Tars

    It is an open-source microservice platform. It contains a high-performance RPC framework and a service management platform. Based on Tars, you can develop a reliable microservice system efficiently. It is designed for high reliability, high performance, and efficient service management. By significantly reducing system operation work, developers can focus on business logic and meet fast changes of user requirements. ...

  • Mercury
    Mercury

    A modular JSON-RPC library that allows pluggable transport layers, JSON libraries, and effect/async monads. It is used to communicate with embedded devices where the device is acting in the server role. ...

  • RSocket
    RSocket

    It is a binary protocol for use on byte stream transports such as TCP, WebSockets, and Aeron. It provides a protocol for Reactive Streams semantics between client-server, and server-server communication. ...

  • Kitex
    Kitex

    It is a high-performance and strong-extensibility Golang RPC framework that helps developers build microservices. If performance and extensibility are the main concerns when you develop microservices, it can be a good choice. ...

JSON-RPC alternatives & related posts

gRPC logo

gRPC

968
1.1K
48
A high performance, open-source universal RPC framework
968
1.1K
+ 1
48
PROS OF GRPC
  • 20
    Higth performance
  • 11
    Easy setup
  • 10
    The future of API
  • 4
    Contract-based
  • 3
    Polyglot
CONS OF GRPC
    Be the first to leave a con

    related gRPC posts

    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
    Shared insights
    on
    KafkaKafkagRPCgRPC
    at

    By mid-2015, Uber’s rider growth coupled with its cadence of releasing new services, like Eats and Freight, was pressuring the infrastructure. To allow the decoupling of consumption from production, and to add an abstraction layer between users, developers, and infrastructure, Uber built Catalyst, a serverless internal service mesh.

    Uber decided to build their own severless solution, rather that using something like AWS Lambda, speed for its global production environments as well as introspectability.

    See more
    GraphQL logo

    GraphQL

    25.4K
    21.1K
    298
    A data query language and runtime
    25.4K
    21.1K
    + 1
    298
    PROS OF GRAPHQL
    • 73
      Schemas defined by the requests made by the user
    • 62
      Will replace RESTful interfaces
    • 60
      The future of API's
    • 48
      The future of databases
    • 12
      Self-documenting
    • 11
      Get many resources in a single request
    • 5
      Ask for what you need, get exactly that
    • 4
      Query Language
    • 3
      Evolve your API without versions
    • 3
      Fetch different resources in one request
    • 3
      Type system
    • 2
      GraphiQL
    • 2
      Ease of client creation
    • 2
      Easy setup
    • 1
      Good for apps that query at build time. (SSR/Gatsby)
    • 1
      Backed by Facebook
    • 1
      Easy to learn
    • 1
      "Open" document
    • 1
      Better versioning
    • 1
      Standard
    • 1
      1. Describe your data
    • 1
      Fast prototyping
    CONS OF GRAPHQL
    • 3
      Hard to migrate from GraphQL to another technology
    • 3
      More code to type.
    • 1
      All the pros sound like NFT pitches
    • 1
      Works just like any other API at runtime
    • 1
      Takes longer to build compared to schemaless.

    related GraphQL posts

    Shared insights
    on
    Node.jsNode.jsGraphQLGraphQLMongoDBMongoDB

    I just finished the very first version of my new hobby project: #MovieGeeks. It is a minimalist online movie catalog for you to save the movies you want to see and for rating the movies you already saw. This is just the beginning as I am planning to add more features on the lines of sharing and discovery

    For the #BackEnd I decided to use Node.js , GraphQL and MongoDB:

    1. Node.js has a huge community so it will always be a safe choice in terms of libraries and finding solutions to problems you may have

    2. GraphQL because I needed to improve my skills with it and because I was never comfortable with the usual REST approach. I believe GraphQL is a better option as it feels more natural to write apis, it improves the development velocity, by definition it fixes the over-fetching and under-fetching problem that is so common on REST apis, and on top of that, the community is getting bigger and bigger.

    3. MongoDB was my choice for the database as I already have a lot of experience working on it and because, despite of some bad reputation it has acquired in the last months, I still believe it is a powerful database for at least a very long list of use cases such as the one I needed for my website

    See more
    Nick Rockwell
    SVP, Engineering at Fastly · | 44 upvotes · 1.9M views

    When I joined NYT there was already broad dissatisfaction with the LAMP (Linux Apache HTTP Server MySQL PHP) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?

    So we're moving quickly away from LAMP, I would say. So, right now, the new front end is React based and using Apollo. And we've been in a long, protracted, gradual rollout of the core experiences.

    React is now talking to GraphQL as a primary API. There's a Node.js back end, to the front end, which is mainly for server-side rendering, as well.

    Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a Kafka pipeline.

    See more
    REST logo

    REST

    20
    172
    0
    A software architectural style
    20
    172
    + 1
    0
    PROS OF REST
    • 3
      Popularity
    CONS OF REST
      Be the first to leave a con

      related REST posts

      Apache Dubbo logo

      Apache Dubbo

      27
      48
      0
      A high performance Java RPC framework
      27
      48
      + 1
      0
      PROS OF APACHE DUBBO
        Be the first to leave a pro
        CONS OF APACHE DUBBO
          Be the first to leave a con

          related Apache Dubbo posts

          Tars logo

          Tars

          5
          12
          0
          A high-performance RPC framework
          5
          12
          + 1
          0
          PROS OF TARS
            Be the first to leave a pro
            CONS OF TARS
              Be the first to leave a con

              related Tars posts

              Mercury logo

              Mercury

              4
              9
              0
              A JSON-RPC library for Scala
              4
              9
              + 1
              0
              PROS OF MERCURY
                Be the first to leave a pro
                CONS OF MERCURY
                  Be the first to leave a con

                  related Mercury posts

                  RSocket logo

                  RSocket

                  2
                  2
                  0
                  Application protocol providing Reactive Streams semantics
                  2
                  2
                  + 1
                  0
                  PROS OF RSOCKET
                    Be the first to leave a pro
                    CONS OF RSOCKET
                      Be the first to leave a con

                      related RSocket posts

                      Kitex logo

                      Kitex

                      1
                      1
                      0
                      A high-performance and strong-extensibility Golang RPC framework
                      1
                      1
                      + 1
                      0
                      PROS OF KITEX
                        Be the first to leave a pro
                        CONS OF KITEX
                          Be the first to leave a con

                          related Kitex posts