When we move to production of our microservices, it does not matter how good our code was, how well we designed our architecture, or how many tests we have done, our microservices will fail. Since our microservices will eventually fail, we need to know when, and we need to provide the tools so that we can handle that situation.
In this chapter, we will discuss why monitoring is a critical part of any production-ready system, and how we can provide microservices that can be monitored and controlled. To experiment with this problem, we will create a microservice that can, and eventually will fail. Then, we will learn what SpringBoot Actuator can do, and how we can customize it for our needs. We will understand what microservices instrumentation is and how we can use it. We will create our own JMX Management Beans for providing tools to manage our production...