Quick Guide to Seamlessly Connect gRPC with Dubbo-go

gRPC

First, let’s consider a brief overview of gRPC. It’s a Remote Procedure Call (RPC) framework launched by Google. It is implemented by using Interface Definition Language (IDL) to compile a client in different languages. gRPC is a very standard implementation of RPC theory. Therefore, gRPC inherently supports a variety of languages. Over the past few years, it has become a standard way to implement cross-language RPC frameworks. Many outstanding RPC frameworks, such as Spring Cloud and Alibaba’s Dubbo, support gRPC.

Server

The following snippet shows the server usage in Go.

Client

The following snippet displays the client usage.

Design

First, review the overall design of Dubbo-go and identify the level on which to adapt gRPC.

Implementation

In Dubbo-go, gRPC is mainly related to the following:

Server

Client

Dubbo-go designs its own client to impersonate and encapsulate the client in gRPC.

Code Generation

As mentioned earlier, the problem for ds, ok := service.( DubboGrpcService) is how to have the code compiled by protobuf implement the DubboGrpcService interface.

Original Source:

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store