Микросервисная архитектура обеспечивает высокую скорость изменений и хорошую масштабируемость, а также позволяет создавать чистые эволюционирующие системы. Но реализовать свою первую микросервисную архитектуру непросто. Как сделать выбор из множества вариантов и обучить свою команду всем техническим деталям, чтобы максимально увеличить шансы на успех? В этой книге авторы, Ронни Митра и Иракли Надареишвили, предоставили пошаговое руководство для построения эффективной архитектуры микросервисов. Архитекторы и инженеры пройдут путь внедрения, основанный на методах и архитектурах, доказавших свою эффективность для микросервисных систем. Вы создадите операционную модель, проект микросервиса, инфраструктурную основу и два работающих микросервиса, а затем соедините эти компоненты в одну реализацию. Для любого, перед кем стоит задача создания микросервисов, руководство станет бесценным источником знаний.
Наш любимый источник рекомендаций по проектированию API — Майк Амундсен. Если вы заинтересованы в создании эволюционирующих API, то мы рекомендуем изучить шаблоны изменения API в его книге Design and Build Great Web APIs (Pragmatic Bookshelf, 2020).
Шаблон развертывания множества версий делает изменения более прозрачными для пользователей и клиентов системы. В этом шаблоне мы явно устанавливаем версию компонента или интерфейса и позволяем клиентам выбирать, какую версию компонента использовать. При таком подходе можно поддерживать одновременное использование нескольких версий.
Начав читать эту книгу, я ожидал больше упора в код, но по мере чтения, я понял, что микросервисы - это больше про архитектуру, инфраструктуру и даже команду, чем код. Поэтому, в книге даже больше материала про devops чем про все остальное. Возможно, кому-то это покажется водой, но это не так! Помимо этого, автор затрагивает и психологические моменты, давая советы по поводу того, на чем не стоит зацикливаться и как избежать аналитического паралича. Единственное, для России эта книга уже менее актуальна т.к. во многих аспектах автор полагается на облачные решения типа AWS, с чем сейчас возникли проблемы.