akka-grpc-play-specs2


License

License

Categories

Categories

gRPC Net Networking Akka Container Microservices Reactive libraries
GroupId

GroupId

com.lightbend.akka.grpc
ArtifactId

ArtifactId

akka-grpc-play-specs2_2.11
Last Version

Last Version

0.4.2
Release Date

Release Date

Type

Type

jar
Description

Description

akka-grpc-play-specs2
akka-grpc-play-specs2
Project URL

Project URL

https://developer.lightbend.com/docs/akka-grpc/current/
Project Organization

Project Organization

com.lightbend.akka.grpc
Source Code Management

Source Code Management

https://github.com/akka/akka-grpc

Download akka-grpc-play-specs2_2.11

How to add to project

<!-- https://jarcasting.com/artifacts/com.lightbend.akka.grpc/akka-grpc-play-specs2_2.11/ -->
<dependency>
    <groupId>com.lightbend.akka.grpc</groupId>
    <artifactId>akka-grpc-play-specs2_2.11</artifactId>
    <version>0.4.2</version>
</dependency>
// https://jarcasting.com/artifacts/com.lightbend.akka.grpc/akka-grpc-play-specs2_2.11/
implementation 'com.lightbend.akka.grpc:akka-grpc-play-specs2_2.11:0.4.2'
// https://jarcasting.com/artifacts/com.lightbend.akka.grpc/akka-grpc-play-specs2_2.11/
implementation ("com.lightbend.akka.grpc:akka-grpc-play-specs2_2.11:0.4.2")
'com.lightbend.akka.grpc:akka-grpc-play-specs2_2.11:jar:0.4.2'
<dependency org="com.lightbend.akka.grpc" name="akka-grpc-play-specs2_2.11" rev="0.4.2">
  <artifact name="akka-grpc-play-specs2_2.11" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.lightbend.akka.grpc', module='akka-grpc-play-specs2_2.11', version='0.4.2')
)
libraryDependencies += "com.lightbend.akka.grpc" % "akka-grpc-play-specs2_2.11" % "0.4.2"
[com.lightbend.akka.grpc/akka-grpc-play-specs2_2.11 "0.4.2"]

Dependencies

compile (4)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.11.12
com.lightbend.akka.grpc : akka-grpc-play-testkit_2.11 jar 0.4.2
com.lightbend.akka.grpc : akka-grpc-runtime_2.11 jar 0.4.2
com.typesafe.play : play-specs2_2.11 jar 2.7.0-RC3

Project Modules

There are no modules declared in this project.

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 Open Source and available under the Apache 2 License.

com.lightbend.akka.grpc

Akka Project

Versions

Version
0.4.2