Gearing up for Akka gRPC 1.0

The Akka Team at Lightbend recently released Akka gRPC 0.8.0, a library for building streaming gRPC servers and clients on top of Akka Streams and Akka HTTP. We wanted to ask a few questions about this milestone, including the feature highlights, contributors, and plans for the future.


Q: What are the most significant updates in this release?

The most significant update is experimental support for gRPC Server Reflection which allows clients to discover the protocol of a gRPC server when it does not have access to its Protobuf specification. That is very useful for tools and debugging. The gRPC Server Reflection standard is in its early days, so we expect further changes.

Aside from gRPC Server Reflection support, there are two features contributed by some wonderful people in the community. One feature, designed to make Akka gRPC more versatile, was contributed by Tim Whittington. This adds support for the “gRPC-Web” protocol, which intends to make gRPC usable for JavaScript clients in the browser. Thanks Tim!

David Montgomery contributed support for Custom Headers, which is very useful to provide detailed information when a gRPC request results in an error. Thanks David!

On the Akka team side, we improved client-side load balancing to make it possible for a client to distribute the load over multiple backend instances discovered through Akka Discovery. Finally, we spent time making the documentation more complete.

Q: What was the most significant bug fix that it feels good to have finally squashed?

We made time to enable client-side load balancing not just with DNS, but with any service discovery mechanism supported by Akka Discovery. This is a useful feature in itself, and it also allowed us to simplify a lot of the reconnection and failure recovery logic. 

Q: What other Lightbend technologies does this release influence?

We’ve seen gRPC being adopted by a huge part of our industry as its standardized schema-first approach shortens development cycles and makes polyglot service integration very reliable. Akka gRPC is now being used as the base for gRPC support in both the Play Framework and Lagom.

Q: What does the future roadmap look like for the next release, how can folks contribute?

Our goal is to follow up on this 0.8.0 release with a “feature-complete” 1.0.0 release within a few months, at which point we will start maintaining binary compatibility in further updates.

Of course, contributors are always welcome. In fact, just in the last couple of days we've seen the Akka community pick up Akka gRPC 0.8.0 and identify some issues. We've now fixed those and released a patch release of Akka gRPC 0.8.1. We encourage everybody to try it out in their system, especially if they use other gRPC implementations alongside Akka gRPC.


Learn Akka from home

The Akka team has prepared a series of short videos covering topics like Actors, Event Sourcing, CQRS, Cluster Sharding, and more. Check it out!

WATCH ON YOUTUBE

 

Share



Comments


Filter by Tag