> Whether they're in the same process/server/cluster etc ideally should be purely based on throughput/latency/scale concerns. Even more ideally the services should be dynamically shuffled around hosts based on load at runtime.
Think that's called Erlang.
> Imo microservices should be a logical boundary only.
Having option to split it freely is a costly abstraction to deal with, especially if it is cross-language.
I prefer to just leave "cutting lines" in monolith. Well defined modules and relations between them so if some feature needs to be spun off it's not too hard.
Think that's called Erlang.
> Imo microservices should be a logical boundary only.
Having option to split it freely is a costly abstraction to deal with, especially if it is cross-language.
I prefer to just leave "cutting lines" in monolith. Well defined modules and relations between them so if some feature needs to be spun off it's not too hard.