In large-scale systems, problems arise less often in services themselves and more often in the communication between services. For this reason, we need to carefully consider all of the various challenges in service-to-service communication. When discussing service-to-service communication, it's useful to visualize the flow of information in our system. Data flows in both directions–from the client (upstream) to the database, or event bus (downstream) in the form of requests, and back again in the form of responses. When we refer to upstream services, we are describing components of the system that are closer to the user in the flow of information. When we refer to downstream services, we are describing components of the system that are further away from the user–in other words, the user makes a request that is routed to a service...




















































