Skip to main content

02. gRPC

Date: 2024-12-10

Status

Accepted

Context

The system is made up of several components, and must have excellent performance internally. We need bidirectional communication between all our components (plugin - router, router - local connector, local connector - checkout app).

Local connector will send notifications directly to checkout app (eg. "100 SEK inserted").

Checkout app will send some commands to the local connector (eg. "exchange cash")

Decision

We have decided to base the communication upon gRPC protocol.

Consequences

A risk is that the gRPC protocol is completely new to the team, and with it comes a learning curve.

A positive effect of using gRPC is that protobufs are generated, and therefore much of the code does not need to be implemented. It is also beneficial to become more acquainted with gRPC for future services.