AkkaGRPC alternatives and similar libraries
Based on the "Networking" category.
Alternatively, view AkkaGRPC alternatives based on common mentions on social networks and blogs.
Do you think we are missing an alternative of AkkaGRPC or a related project?
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.
- Akka gRPC reference documentation
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.
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
- 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.
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: test interoperability between the Akka implementation and the implementation from
io.gpc:grpc-interop-testing, based on gRPC's original testset. These tests are duplicated as more faithful 'scripted' tests under the sbt-project module.
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
Akka gRPC is Open Source and available under the Apache 2 License.
*Note that all licence references and agreements mentioned in the AkkaGRPC README section above are relevant to that project's source code only.