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).
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
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
Paymentneeds info fromOrder, thenPaymentwill get that data viaOrder's internal API (perhaps over HTTP).If
Paymentneeds to informShippingthat the payment was successful:Paymentwill simply emit an eventPaymentSuccessfulthatShippingis listening for (asynchronously).Shippingwill now decide to ship the order.Other features can also listen for those events, so on
PaymentSuccessfultheOrderfeature 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).