Should business logic be contained in individual services in a micro service ecosystem?
<p>Let's say I just have 2 services <strong>Billing</strong> and <strong>Orders</strong> and one API gateway which may fan out requests to these services for billing or creating orders. </p>

<p>Given this new order scenario:</p>

<ol>
<li>user creates an order (request -> Rest API)</li>
<li>User validation has to be done</li>
<li>Order entity has to be created</li>
<li>Billing entity has to be created </li>
<li>Notification has to be done to notify the user</li>
</ol>

<p>Where should my application logic sit ? and should the calls to these services be done synchronously (within the rest api) ? or each service should be responsible for calling another ? eg:</p>

<p>New user order request -> Rest API -> calls order service to create order -> (if successful) Rest API -> (if successful) calls the billing service</p>

<p><strong>Or</strong></p>

<p>New user order request -> Rest API -> calls order service to create order -> returns the response. Then order service takes of things from there on asynchronously ?</p>

<p>Thanks!</p>