gRPC on the client side

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Kryo

    Java binary serialization and cloning: fast, efficient, automatic

  • Other serialization alternatives have a schema validation option: e.g., Avro, Kryo and Protocol Buffers. Interestingly enough, gRPC uses Protobuf to offer RPC across distributed components:

  • grpcurl

    Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers

  • The whole idea behind the post is that accessing the gRPC service with regular tools is impossible. To test, we need a dedicated tool nonetheless. I found grpcurl. Let's install it and use it to list available services:

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • grpc-web

    gRPC for Web Clients

  • -- grpc-web

  • os-maven-plugin

    A Maven plugin that sets various useful properties detected from ${os.name} and ${os.arch} properties.

  • os-maven-plugin

  • json-schema-spec

    The JSON Schema specification

  • Most inter-systems communication components that use REST serialize their payload in JSON. As of now, JSON lacks a widely-used schema validation standard: JSON Schema is not widespread. Standard schema validation allows delegating the validation to a third-party library and being done with it. Without one, we must fall back to manual validation in the code. Worse, we must keep the validation code in sync with the schema.

  • protobuf-maven-plugin

    Maven Plugin that executes the Protocol Buffers (protoc) compiler

  • Maven Protocol Buffers Plugin

  • gRPC

    The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)

  • -- Why gRPC?

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Apache Avro

    Apache Avro is a data serialization system.

  • Other serialization alternatives have a schema validation option: e.g., Avro, Kryo and Protocol Buffers. Interestingly enough, gRPC uses Protobuf to offer RPC across distributed components:

  • apisix-dashboard

    Dashboard for Apache APISIX

  • An alternative exists, though, if you're using an API Gateway. I'll describe how to do it with Apache APISIX, but perhaps other gateways can do the same. grpc-transcode is a plugin that allows transcoding REST calls to gRPC and back again.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts