
Retry when 429 and 5XX
Retry usage guidance
Consider the following guidelines when using retries in your MicroServices
- If you are using the REST API for inter-(micro)-service communication, retry the operation if the result code is 429 (Too Many Requests) or an error in the 5xx range. Do not retry for any other errors.
- For 429 errors, only retry after the time indicated in theย Retry-Afterย header.
- For 5xx errors, use exponential back-off, with the first retry at least 5 seconds(?) after the response.
- Do not retry on errors other than 429 and 5xx.
Why distributed tracing
distributed tracing can be incredibly useful to diagnose problems, optimize code, and build more reliable services.
Message Queuing Terminology (WIP)
Terms:
- Message
- Queue
- Queue Manager
Aย queue managerย is a system program that provides queuing services to applications. - Channels
- Message channel agent
- Publish/Subscribe
Continuous integration,
Continuous integration
Continuous integration (CI) is the practice of automating the integration of code changes from multiple contributors into a single software project. Itโs a primaryย DevOpsย best practice, allowing developers to frequently merge code changes into a central repository where builds and tests then run. Automated tools are used to assert the new codeโs correctness before integration.
A source code version control system is the crux of the CI process. The version control system is also supplemented with other checks like automated code quality tests, syntax style review tools, and more. ย
Types of Git workflow
Types of git workflow
- Centralised Workflow: Everyone works/pushes only on one branch (main/master) from central repository on server
- Feature Branch Workflow: Everyone do their feature development on dedicated feature branch rather than on main/master branch. Team collaborates through pull requests and merge reviews.
- Gitflow Workflow:
Dedicated channels for feature development, release, hotfixes.

- Forking Workflow
All other workflow had a single server side repository. In this one, every developer has their own dedicated server side repository.