Software engineering notes

Network Bi-directional Protocols

Websocket

Server-Sent Events (SSE)

WebRTC (Web Real-Time Communication)

MQTT (Message Queuing Telemetry Transport)

check here

gRPC

How to expose gRPC like RESTful does for support gRPC?

you might need gRPC Gateway that translate a JSON API into gRPC payload

Does browser, which supports HTTP 2, support gRPC?

No, either use “gRPC-Web” or “gRPC Gateway”

gRPC-Web is designed to be used in the browser. It’s implemented as a JavaScript library and also requires a proxy layer (like Envoy) in your backend to translate between gRPC-Web requests and gRPC.

XMPP (Extensible Messaging and Presence Protocol)

ref: