Моя личная боль: Микросервис == Entity
Третью неделю переносим одно «небольшое» приложение из примерно полусотни микросервисов (помогите) в новую инфру, со всеми пайплайнами, куберами, базами данными и прочим непотребством. И это настоящий музей антипаттернов.
Само по себе оно не слишком сложное: по сути обычный BFF/прокси к другим подсистемам + немного своей логики, но реализовано по классической схеме «одна сущность — один сервис».
В итоге:
— ~50 сервисов
— синхронные вызовы между ними, а это и увеличение latency и уменьшение надежности всей системы.
— циклические зависимости между сервисами
— невозможность остледить кто кого вызывает и зачем
— падает один сервис, 80% системы не работает. К примеру, сервису заявок понадобилось провалидировать адрес, которому выделен свой собственный микросервис и он то как-раз упал.
— тестирование всей системы (не отдельного сервиса, а именно всей) — отдельный вид мазохизма
Страшно представить, сколько денег было сожжено просто на поддержку инфраструктуры: серверы, пайплайны, окружения, клиентов для микросервисов, тестов и всё остальное. Самый кек— пользователей там не так много. Никаких миллионов, ради которых всё это могло бы иметь смысл (хотя и не всегда).
Из заявленных преимуществ микросервисной архитектуры, а именно scalability, reliability и легкости в поддержке достигнуто ровно 0.
Post #419
3.22K
- 😭 40
- 💯 15
- 😁 12
- 🌚 5
- 😱 4
- 👍 3
- 🔥 3
- 🥰 3
- ❤ 2
- 🤩 1