Service resilience makes the service still available when the environment is unreliable.Technologies used include Timeouts, Retry, Rate Limiting, Circuit Breaker, Fault Injection, and Bulkhead.
Read More →
Distributed tracing includes different scenarios, such as tracing inside a function, database tracing and cross-process tracing. If you want to design a better tracing solution or choose the best fit tools or libraries for your use case, you need to be aware of issues and solutions in each scenario.
Read More →
I wrote a series of articles on Go Microservice with gRPC in Clean Architecture and SOLID design. It talked about best practice in application design, application layout and project structure, logging, error handling, transaction management, application container and Dependency Injection.
Read More →
Described Best practice for logging and error handling in Go Microservice gRPC project, and compared two different logging libraries ZAP and Logrus.
Read More →
"Standard Go Project Layout" is not a good fit for Go Microservice gRPC project. This article Using a real application to show what is a good what is a good Microservice application layout and the reason behind it.
Read More →