Привет, Хабр! Это Саша Бардаш, главный архитектор интеграционных платформ в МТС Диджитал. В прошлый раз я рассказывал о пяти книгах, которые стоит почитать начинающему ИТ-архитектору. Большое спасибо всем, кто читал. Были интересные комментарии на тему, какие еще книги почитать — кое-что из этого я добавил в свою новую подборку. Итак, под катом пять книг, которые будут интересны уже более опытным ИТ-архитекторам. Что ж, поехали!
Что за подборка
Начнем с главного. Все вы работаете в абсолютно разных компаниях с различным стеком и уровнем зрелости продукта. Возможно, книги из этой подборки не укладываются в вашу парадигму построения приложений. Но вам будет интересно почитать их, если вы следите за трендами мировой ИТ-индустрии в области интеграций и управления данными.
Конечно, это не значит, что если выучишь все эти книги наизусть, сразу станешь продвинутым архитектором. Но это те знания, которые лично мне помогли строить решения уровня энтерпрайз. Еще они дают понимание текущих тенденций в целом, а это тоже важно для архитектора.
Книги из этой подборки я рекомендую, чтобы познакомиться с асинхронным взаимодействием, современными методами построения интеграций и потоковой обработки данных. То есть не просто узнать, что такое Kafka, топик, брокеры и так далее, а понять, как спроектировать решение в целом.
«Путеводитель по базам данных», Владимир Комаров
Начнем с книги, которую посоветовали в комментариях к моему предыдущему посту. Абсолютно согласен с тем, что она должна быть в этой подборке. На мой взгляд, в книге отлично раскрыты такие темы:
системы управления базами данных;
алгоритмы и структуры данных;
бэкапы;
безопасность баз данных и так далее.
Книга дает понимание, какие вообще базы данных существуют и какие алгоритмы лежат под капотом. Еще ты учишься видеть плюсы и минусы при использовании конкретной БД, а это важная штука для того, чтобы принимать решение, где складывать и хранить данные разных типов.
Сам периодически пробегаюсь по «Путеводителю», чтобы освежить знания по теме. Например, я строю решение и мне нужно каждую секунду сохранять состояние вызовов системы, чтобы рассчитывать лимиты. Понятно, что реляционная база данных для этого не самый лучший выбор. А что тогда лучший? Вот как раз на такие вопросы помогает ответить книга.
С данными понятно. Дальше возникает вопрос, как передавать их между компонентами системы и как ими управлять.
«Apache Kafka. Потоковая обработка и анализ данных», Гвен Шапира и Полина Тодд
Если нужно построить решения с асинхронным взаимодействием, которые выдерживали бы огромные нагрузки, и при этом система должна быть управляемой, эта книга как раз то, что нужно.
Авторы — те самые разработчики Kafka. Так что вы «из первых уст» узнаете, как работать с потоковой платформой Kafka, развертывать производственные кластеры, создавать масштабируемые приложения для потоковой обработки данных и так далее. В дополнительных главах рассказано об API AdminClient от Kafka, транзакциях, новых функциях безопасности и изменениях в инструментарии.
Что еще вы найдете в книге:
лучшие практики настройки и развертывания Kafka, а еще построения конвейеров данных и приложений;
шаблоны и требования для надежной доставки данных;
производители и потребители Kafka для записи и чтения сообщений;
ключевые показатели рабочих параметров Kafka;
настройку, мониторинг и обслуживание Kafka.
Как по мне, главная фича этой книжки — подробные примеры проектирования решений на Kafka. Отлично расписаны ключевые детали архитектуры и управление сервисами через Kafka. В свое время тут я для себя почерпнул, как обеспечить high availability и масштабировать потоковые обработчики.
Бесплатно прочитать книгу можно в Строках. Промокод IDKFA, активировать нужно до 30.09.2024.
Data Mesh, Жамак Дегани
Как и указано на обложке, это новая парадигма работы с данными. Основана книга на предметно ориентированном проектировании — то же самое DDD.
Мне нравится, что тут подробно описаны принципы федеративного цифрового управления данными. Прочитав ее, лучше понимаешь, как работать с большими и динамично изменяющимися источниками данных. Книга описывает общую концепцию и действительно больше полезна создателям платформ для ее поддержки. Единственный минус — она тяжело читается. Но информация правда ценная, так что разобраться стоит.
Если понравилась эта книга и хочется еще больше углубиться в тему, читайте следующую из подборки.
Building an Event-Driven Data Mesh, Adam Bellemare
А тут продолжение предыдущей темы. Здесь затрагивается современный подход Event Mesh в пересечении с Data Mesh. Эта книга актуальна, когда у тебя появляются события и нужно управлять ими в рамках Data Mesh.
Если в вашей компании Data Mesh точно будет использоваться, из этой книги можно понять детали, как это должно корректно работать. Книга помогает разобраться, как события связаны с системами, есть практические советы по новому построению EDA. Становится понятно, как моделировать события, событийную модель и так далее.
PostgreSQL 12 High Availability Cookbook, Shaun Thomas
Хорошему архитектору нужно уметь строить отказоустойчивые решения. Сейчас для этого есть много разных инструментов, которые переиспользуются в разных решениях. Многие из них требуют высокой доступности. Чтобы влиться в эту тему, советую начать с обеспечения высокой доступности реляционной базы данных — Postgre. Как раз об этом эта книга.
Ну и бонус напоследок. Если у вас другая БД, советую заглянуть в список из 20 книг. Есть шанс, что там будет издание именно по вашей БД.
На сегодня все. Пишите, каких книг, на ваш взгляд, не хватает в этой подборке. Если интересны книги по конкретным решениям, тоже пишите. Возможно, смогу что-то подсказать.