Alternatives To Akka Grpc
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Protoactor Go4,552
6 days ago4April 05, 202170apache-2.0Go
Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
Cloudstate7632a year ago11January 27, 202195apache-2.0Scala
Distributed State Management for Serverless
Akka Grpc4244176 days ago40September 26, 2022162otherScala
Akka gRPC
Grpcakkastream66
4 years ago7mitScala
Use GRPC services with the Akka-stream API
Java 11 Examples46
2 years ago4apache-2.0Java
JDK 11 examples and demo projects.
Chief Of State43
3 months ago21mitScala
gRPC clustered event sourcing tool
Play Grpc334a month ago4September 25, 202026apache-2.0Scala
Play + Akka gRPC
Etcd4s32
11 days ago6January 11, 202113mitScala
Scala etcd client implementing V3 APIs
Akka_streams_tutorial27
6 days ago12mitScala
A collection of runnable and self-contained examples from various akka-streams and Alpakka docs, tutorials and blogs
Akka Grpc Sample Kubernetes Scala25
a year ago15Scala
Alternatives To Akka Grpc
Select To Compare


Alternative Project Comparisons
Readme

akka-grpc

Support for building streaming gRPC servers and clients on top of Akka Streams.

This library is meant to be used as a building block in projects using the Akka toolkit.

Documentation

Project Status

This library is ready to be used in production, but API's and build system plugins are still expected to be improved and may change.

The API on both sides (Client and Server) is a simple Akka Streams-based one.

The client side is currently implemented on top of io.grpc:grpc-netty-shaded, we plan to replace this by just io.grpc:grpc-core and Akka HTTP.

As for performance, we are currently relying on the JVM TLS implementation, which is sufficient for many use cases, but is planned to be replaced with conscrypt or netty-tcnative.

General overview

gRPC is a schema-first RPC framework, where your protocol is declared in a protobuf definition, and requests and responses will be streamed over an HTTP/2 connection.

Based on a protobuf service definition, akka-grpc can generate:

  • Model classes (using plain protoc for Java or scalapb for Scala)
  • The API (as an interface for Java or a trait for Scala), expressed in Akka Streams Sources
  • On the server side, code to create an Akka HTTP route based on your implementation of the API
  • On the client side, a client for the API.

Project structure

The project is split up in a number of subprojects:

  • codegen: code generation shared among plugins
  • runtime: run-time utilities used by the generated code
  • sbt-plugin: the sbt plugin
  • scalapb-protoc-plugin: the scalapb Scala model code generation packaged as a protoc plugin, to be used from gradle
  • interop-tests

Additionally, 'plugin-tester-java' and 'plugin-tester-scala' contain an example project in Java and Scala respectively, with both sbt and Gradle configurations.

Compatibility & support

If used with JDK 8 prior to version 1.8.0_251 you must add an ALPN agent.

Support for Akka gRPC is available via the Lightbend Subscription

License

Akka gRPC is licensed under the Business Source License 1.1, see LICENSE.

Popular Grpc Projects
Popular Akka Projects
Popular Application Programming Interfaces Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
Plugin
Scala
Stream
Streaming
Rpc
Reactive
Grpc
Sbt
Akka
Netty
Protoc
Reactive Streams
Akka Http
Akka Streams