Intro

Decided to familiarise myself with Protocol Buffers (protobuf) and gRPC.

main()

  • client server
  • contract between client and server in proto file
  • proto file source for generating client and server stubs
  • portable
  • client invokes functions i.e. service-oriented design
  • faster than JSON
  • Protocol Buffers compressed but not readable
  • tight coupling
  • built code generation
  • bidirectional
  • Hi-Perf, Hi-data, Real-time
  • HTTP 2
  • go is experimental on Azure App Service 1.19 onwards
  • testable through Postman

Outro

  • Learned more about the proto file and Full import Path (including Github.com) and the local import path.

Essentially Public in the first instance and Internal packages / simplicity in the second instance

  • Use of replace directive in go.mod to reference Full import Path i.e. GitHub if required

Source

https://buf.build/docs/installation
https://blog.postman.com/testing-grpc-apis-with-postman/