The answer is, it depends. One way to answer your question is to look at how your teams are organized. Do you have teams organized around Flight Aggregation, Payment, Hotel Booking and Flight booking? If you have, then maybe it makes sense mimic this organization structure in your microservice architecture. After all, Conway’s law state that this is eventually how your services would become organized any way.
Having said that, another two ways that I know of are:
-
Decomposing by business capabilities Decompose by business capability
Context -
Decomposing by business subdomain. Decompose by subdomain
Context
solved What is the right granularity for a microsrevice? [closed]