Having understood the design principles, let's take the skeleton services developed in Chapter 2, Writing Your First Cloud-Native Application, and do some real work on them to make them production-ready.
We defined two get services; getProduct
for a given a product ID, and getProducts
for a given category. These two services have highly non-functional requirements. They always have to be available and serve the data with the lowest possible latency. The following steps will take us there:
- Accessing data: Service access to data across various resources
- Caching: Options to do caching and their considerations
- Applying CQRS: Enable us to have different data models to service different requests
- Error handling: How to recover, what return codes to send, and implementation of patterns such as a circuit breaker
We will also look at adding methods to modify the data, such as insert
, update
, and delete
. In this chapter, we will cover:
- Validations: Ensuring...