#books
Микросервисы. Паттерны разработки и рефакторинга. Крис Ричардсон. (2021г.)
Данная книга является в некотором роде библией про микросервисы. Если хотите погрузиться в тему, почти наверняка вам посоветуют именно её.
Микросервисы рассматриваются с самых разных сторон. Оглавление такое:
1. Побег из монолитного ада: как жить с монолитом, почему это удобно, pros and cons микросервисов и процессы вокруг. В общем база.
2. Стратегии декомпозиции: как разбить вашу систему на микросервисы в разных плоскостях. Что важно, это не про вынос микросервиса, а про проектирование с нуля.
3. Межпроцессное взаимодействие в микросервисной архитектуры: REST, gRPC, синхронные/асинхронные вызовы.
4. Управление транзакциями с помощью повествований.
5. Проектирование бизнес-логики в микросервисной архитектуре.
6. Разработка бизнес-логики с порождением событий (event driven like системы).
7. Реализация запросов в микросервисной архитектуре.
Про API, CQRS.
8. Шаблоны внешних API.
Про проблемы поддержания внешнего API и api-gateway.
9. Тестирование микросервисов 1.
Общие понятия. Модульные тесты.
10. Тестирование микросервисов 2.
Интеграционные, компонентные и «сквозные» тесты.
11. Разработка сервисов, готовых к промышленному использованию.
Безопасность, конфигурируемость, observability.
12. Развёртывание микросервисов.
Docker, kubernetes, serverless (AWS Lambda).
13. Процесс перехода на микросервисы.
Про то, как взять ваш монолит и распилить его на куски.
Каждая глава сдобрена практическими примерами. В рамках книги сквозной историей разбирается развитие абстрактного ecom приложения FTGO. Можно считать дефолтной доставкой чего-либо. И в каждой главе показывается применение описанных паттернов.
Есть несколько тем, которые мне подарила эта книга. Под «подарила» я понимаю раскрыть базовое понимание, хотя раньше я этого базового понимания насобирать не смог (хотя и не то чтобы пытался, но тут я тоже не пытался, а получилось):
- GraphQL. Выглядит очень прикольно. Прям ощущаю, насколько полезно это может быть в некоторых случаях. Может быть нам пригодилось бы.
- JWT, OAuth.
- Docker, kubernetes. Оказывается, в Яндексе я несколько лет пользовался внутренним аналогом последнего.
- serverless. Честно говоря, я не до конца осознал, но теперь я точно перестану скипать статьи про подобное и дам себе шанс разобраться глубже. Выглядит интересно.
Несколько минусов:
- текст местами без причины сложный.
Бывают предложения, которые можно упростить без потери смысла. Возможно это просто стиль письма у автора. Но материал и так сложный, а когда про него ещё и сложно пишут, становится тяжелее в квадрате. Не надо так.
- [относится к русскому изданию] книга чрезмерно локализована.
Endpoint назван «конечной точкой», а mock в теме тестирования «макетом». Сразу видно руку технического переводчика. REST, gRPC и CQRS не переведены, а вот эти термины да. Хотя имхо стоило бы их оставить как есть. Это мешает пониманию (мне, человеку с опытом, приходится прикладывать усилия для понимания простых предложений с этими терминами).
В итоге книга нормикс. Даёт неплохую базу и даже больше. Но приготовьтесь напрягаться и осознавать. Вдумываться. Это займёт много сил и мыслетоплива. Возможно местами чрезмерно.
7/10.
Post #387
5.38K

- ✍ 27
- 👍 20
- ❤ 13
- 🔥 5
- 😁 1