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
Payment
needs info fromOrder
, thenPayment
will get that data viaOrder
's internal API (perhaps over HTTP).If
Payment
needs to informShipping
that the payment was successful:Payment
will simply emit an eventPaymentSuccessful
thatShipping
is listening for (asynchronously).Shipping
will now decide to ship the order.Other features can also listen for those events, so on
PaymentSuccessful
theOrder
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).