-
Book Overview & Buying
-
Table Of Contents
Software Architecture with C++ - Second Edition
By :
Distributed systems, such as those in cloud-native architectures, pose some unique challenges. The sheer number of different services working at any given time makes it very inconvenient to investigate how well the components perform.
In monolithic systems, logging and performance monitoring are usually enough. However, in a distributed system, distributed tracing becomes essential, as it allows you to follow a request as it moves across services, tracking its life cycle. Moreover, with a distributed system, even logging requires careful design. Different components produce different log formats. Those logs must be stored somewhere. Keeping them together with a service that delivers them will make it challenging to get the big picture in an outage case. Besides, since microservices may be short-lived, you will want to decouple the life cycle of logs from the life cycle of a service that provides them or a machine that hosts the...