Transactional Outbox Pattern – надёжная передача событий между сервисами

Оглавление Введение В современном мире микросервисов часто возникает задача обеспечить согласованность данных между несколькими сервисами без использования тяжелых распределенных транзакций. Например, сервис обработки заказов должен сохранить информацию о новом заказе в своей базе данных и отправить событие о создании заказа в брокер сообщений, чтобы другие сервисы (склад, доставка и т.д.) могли отреагировать. Наивная реализация — … —Читать далее—

Loading

Улучшаем обработку ошибок и логирование в REST API

Оглавление Введение Каждый разработчик хотя бы раз сталкивался с раздражающей ситуацией, когда API отвечает коротко и непонятно: «400 Bad Request». В таких случаях остаётся лишь гадать, что именно пошло не так: неправильный формат данных, пропущенные поля, неверный тип, или что-то ещё? Ситуация становится особенно неприятной, когда вы одновременно выступаете и разработчиком API, и его клиентом. … —Читать далее—

Loading

Шардирование PostgreSQL: архитектура, алгоритмы и практические подходы

Оглавление Введение Современные веб-приложения и сервисы сталкиваются с непрерывно растущими объёмами данных и нагрузками, с которыми стандартные подходы к организации баз данных перестают справляться. Вертикальное масштабирование — увеличение мощности серверов — имеет пределы, поэтому всё чаще на первый план выходит горизонтальное масштабирование, или шардирование. В данной статье мы подробно рассмотрим шардирование применительно к базам данных … —Читать далее—

Loading

CDN в распределённых системах: архитектура, кэширование, безопасность и современные практики

Оглавление Введение Современные веб-приложения и онлайн-сервисы сталкиваются с постоянно возрастающими требованиями к производительности, масштабируемости и безопасности. Пользователи ожидают мгновенного отклика и высокой доступности контента независимо от своего географического положения. В таких условиях одной из ключевых технологий, обеспечивающих выполнение этих требований, является Content Delivery Network (CDN) — сеть доставки контента. CDN представляет собой распределённую сеть серверов, … —Читать далее—

Loading

DevOps и SRE: что, зачем и для кого?

Оглавление Введение DevOps (Development & Operations) и SRE (Site Reliability Engineering) – два ключевых подхода, сформировавшихся для ускорения разработки и обеспечения надежности современных ИТ-систем. В условиях облачных технологий, микросервисов и распределенных архитектур компании стремятся автоматизировать инфраструктуру и минимизировать простои. Оба подхода разделяют общую цель – быстрее поставлять качественные продукты при высокой стабильности систем, но достигают … —Читать далее—

Loading