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 →
Application container is responsible for creating concrete types and inject them into each function. It is the most complex piece in the application
Read More →
Application container uses Dependency Injection to create concrete types and inject them into each function. Under the core, it uses the factory method pattern.
Read More →