For a general introduction to gRPC on Go, see the official gRPC quickstart.
This sample presents:
./server: a gRPC server application with an RPC that streams the current time in the response (written in Go)./client: a small program to query the server and show the response messages (written in Go)
Use the following button to deploy the application to Cloud Run on your GCP project:
Once deployed successfully, note the domain name (hostname) of the service.
-
Ensure Go 1.13 (or higher) is installed on your machine.
-
Clone this repository.
-
Run the client with the hostname of the deployed service:
cd grpc-server-streaminggo run ./client -duration 5 -server <HOSTNAME>:443
-
Observe the output, it should be receiving and printing a message every second as the server sends them.
rpc established to timeserver, starting to stream received message: current_timestamp: 2020-01-15T01:12:29Z received message: current_timestamp: 2020-01-15T01:12:30Z received message: current_timestamp: 2020-01-15T01:12:31Z received message: current_timestamp: 2020-01-15T01:12:32Z received message: current_timestamp: 2020-01-15T01:12:33Z end of stream
Remove the grpc-server-streaming Service you deployed from Cloud Run
using the Cloud Console.