Most products have various features. Take Amazon:
Most apps have those features in one codebase, and therefore as part of one deployable (web) app.
Distributed systems build each feature as independently deployable apps.
If Payment needs info from Order, then Payment will get that data via Order's internal API (perhaps over HTTP).
If Payment needs to inform Shipping that the payment was successful: Payment will simply emit an event PaymentSuccessful that Shipping is listening for (asynchronously). Shipping will now decide to ship the order.
Other features can also listen for those events, so on PaymentSuccessful the Order feature may choose to "close" the order for further editing, etc.
In the end, distributed systems are when each feature communicates over-the-wire instead of within the same process/run-time (e.g. in code).
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.