Introduction: Micro-services in Go using G-RPC

RPC: Remote procedure call framework (Calling a function in another remote service)

Maintaining a good codebase

  1. Good unit test coverage.
  2. Integration tests to check third-party integrations such as databases, Kubernetes, AWS, etc.
  3. Contract testing for service-to-service communication.
  4. Static code analysis
  5. Vulnerability checks

Deployment strategies

  1. Rolling upgrade
  2. canary deployment
  3. blue-green deployment

The deployed environment should be ready to rollback to the previous state incase of excessive errors, etc.

Rate limiting is important for public access as not throttling requests can significantly introduce latency for users.