mostly in whatever you are designing NIT there is no one-size-fits-all you need to be open-minded and you need to look at exact use case that you have so for example a choreography is a really great it is actually my preferred method because in choreography the main benefit is that these micro services are completely decoupled when one goes down it doesn't influence the rest if you need to remove one micro service and implement it in using a different technology or whatever you can do it because they communicate asynchronously