This is a periodic newsletter of content around Ballerina and related technology topics such as integration, microservices, distributed systems, and cloud computing.
Why, When and How to Use gRPC
In the recent past, gRPC has become one of the most prominent communication technologies for microservice and other distributed architectures. It’s a modern remote procedure call (RPC) technology that uses HTTP 2.0 and Protocol Buffers for binary encoding. gRPC enables maximum efficiency in communication in terms of low-latency and tight packing of data, resulting in higher throughput. To learn more about why, when, and how to use gRPC, read Anjana Fernando’s DZone article.
gRPC is especially useful for internal service-to-service communication in a microservice architecture because it provides the lowest possible overhead from network communication. Since gRPC is an open standard, all mainstream programming languages support it, making it ideal for working in a polyglot microservice environment. Ballerina has built-in support for gRPC when creating services, stubs, and clients. It maps directly to the language’s service abstractions, making it a natural task when implementing gRPC communication flows. For more information, read Lakmal Warusawithana’s InfoQ article where he explores a real-world use case on how to use Ballerina and Golang when building effective microservices with gRPC.
gRPC supports both client and bi-directional streaming. In client streaming, the client writes a sequence of messages and sends them to the server via a stream. Once the client has finished writing the messages, it waits for the server to read them and return a response. On the other hand, in bi-directional streaming, the client and server each send a sequence of messages using read-write streams that operate independently, allowing them to read and write in any order. Read Daksith Jayasinghe’s DZone article on gRPC Client and Bi-directional Streaming with Ballerina Swan Lake for more information.
What’s New in Ballerina?
Ballerina has been listed as one of the top 10 programming languages to learn in 2020 by TechTarget analyst Kerry Doyle. “As organizations move toward a greater reliance on distributed architectures and cloud services, Ballerina offers a simpler approach to API development, network scripting, and composite development,” states Kerry. Read more here.
We released the third preview version of Ballerina Swan Lake on August 14. Read the release note for a full feature list.
Here is a summary of the key features in Ballerina Swan Lake Preview 3:
A convenient way to convert between JSON and anydata (plain data) values
order by clause in query expressions to sort a list of elements
Support for executing stored procedures in SQL connectors
Azure functions support
You can download the preview version after the stable release here. Do try it out and let us know your feedback via our Slack channel.
Ballerina Community Call
If you’d like to have a discussion with our engineering team on Ballerina concepts and how you can use it in your projects, join our first-ever community call on Tuesday, September 8, at 9:00 a.m. PDT. For our first call, we will start with a gRPC demo and move into an open discussion.
Sign up here to get notified.
We hope you found this information useful. We’ll catch you again soon!