"Микросервис = Сущность предметной области, и не более."
"Относительно небольшое число микросервисов даже в больших корпорациях"
Только я тут вижу прямое противоречие?
В больших системах сущностей может быть сотни. Если же их немного, то в нормальном модульном монолите тоже не запутаешься
И... Микросервисы - просто? Когда одни сервисы стучатся в другие, когда получаются распределенные транзакции и начинаются новые модные штуки типа двухфазных фиксаций, саг и т.п. что конечно же "упрощает" архитектуру и "способствует ее более простому восприятию". Также соблюдение контрактов при общении между сервисами, выкатка изменений, когда у тебя меняется сразу несколько сервисов в одной фиче. Про время взаимодействия между сервисами уже промолчу. Про документацию на каждый сервис тоже отдельный момент - не встречал ещё разработчиков, кто любит писать доки)
Если есть микросервисы и на каждый отдельная команда - это удобно(конечно же с оговорками). Но если у тебя 20 микросервисов на одну команду и это можно было бы реализовать монолитом, на мой взгляд проще и писать такое, и быстрее в него вникнешь. Конечно же, это не отменяет разбиение на модули/контексты.
"Микросервис = Сущность предметной области, и не более."
"Относительно небольшое число микросервисов даже в больших корпорациях"
Только я тут вижу прямое противоречие?
В больших системах сущностей может быть сотни. Если же их немного, то в нормальном модульном монолите тоже не запутаешься
И... Микросервисы - просто? Когда одни сервисы стучатся в другие, когда получаются распределенные транзакции и начинаются новые модные штуки типа двухфазных фиксаций, саг и т.п. что конечно же "упрощает" архитектуру и "способствует ее более простому восприятию". Также соблюдение контрактов при общении между сервисами, выкатка изменений, когда у тебя меняется сразу несколько сервисов в одной фиче. Про время взаимодействия между сервисами уже промолчу. Про документацию на каждый сервис тоже отдельный момент - не встречал ещё разработчиков, кто любит писать доки)
Если есть микросервисы и на каждый отдельная команда - это удобно(конечно же с оговорками). Но если у тебя 20 микросервисов на одну команду и это можно было бы реализовать монолитом, на мой взгляд проще и писать такое, и быстрее в него вникнешь. Конечно же, это не отменяет разбиение на модули/контексты.