0 393

Шаблоны проектирования Cloud-based и микросервисных приложений

Статья содержит паттерны, которые полезно применять в клауд приложениях и в микросервесной архитектуре.

Ambassador Pattern

амбасадор

Паттерн Ambassador позволяет перенести client connectivity tasks такие как: мониторинг, логинг маршрутизация, обеспечение безопасности (например, поддержка TLS) и другие на proxy сервис

https://bool.dev/blog/detail/ambassador-pattern

Aggregator, Chain и Branch паттерны для микросервисов

Aggregator, Chain и Branch паттерны для микросервисов

В этой статье разберем 3 паттерна для коммуникации с микросервисами: Aggregator, chain и Branch. И в каких случаях их нужно использовать

https://bool.dev/blog/detail/aggregator-chain-i-branch-patterny-dlya-mikroservisov

Bulkhead pattern

Bulkhead pattern

Шаблон Bulkhead — это подход к дизайну приложения, который устойчив к сбоям. В bulkhead архитектуре элементы приложения изолированы в пулы, так что в случае сбоя одного, остальные продолжат функционировать. Он назван в честь секционных перегородок корпуса корабля. Если корпус корабля поврежден, только поврежденная часть наполняется водой, что предотвращает затопление корабля.

https://bool.dev/blog/detail/bulkhead-pattern

Cache-aside Pattern

caсhe aside

В данной статье рассматриваем один из подходов, который состоит в том, что описывает как нужно работать с данными в кэше.

https://bool.dev/blog/detail/cache-aside-pattern

Circuit Breaker Pattern

Circuit Breaker паттерн

В данной статье рассматриваем одну из хороших практик которая позволит построить правильную коммуникацию между сервисами и избавиться от "провисания" сервиса или цепочки сервисов при выполнении транзакции 

https://bool.dev/blog/detail/circuit-breaker-pattern

Sidecar

sidecar pattern

Разделение функций приложения в отдельный процесс можно рассматривать как шаблон Sidecar. Шаблон Sidecar позволяет добавить ряд возможностей в ваше приложение без дополнительного кода конфигурации для сторонних компонентов.

https://bool.dev/blog/detail/sidecar-pattern

Saga паттерн и распределенные транзакции

saga flow

Saga паттерн и распределенные транзакции помогают отменить или закоммитить операцию которая выполняется в несколько шагов и на нескольких сервисах, которые вместе можно назвать как консистентная операция (транзакция).

https://bool.dev/blog/detail/saga-pattern-i-raspredelennye-tranzaktsii

Паттерн конкурирующих потребителей (Competing Consumers Pattern)

Паттерн конкурирующих потребителей (Competing Consumers Pattern)

Цель шаблона разрешить нескольким параллельным консюмерам обрабатывать сообщения, полученные по тому же каналу обмена сообщениями. Этот шаблон позволяет системе обрабатывать несколько сообщений одновременно, чтобы оптимизировать пропускную способность, улучшить масштабируемость и доступность, а также сбалансировать нагрузку.

https://bool.dev/blog/detail/competing-consumers-pattern

Паттерны CQRS и Event Sourcing

event sourcing

В этой статье описываем паттерны CQRS и Event Sourcing. CQRS расшифровывается как Command Query Responsibility Segregation (разделение ответственности на команды и запросы). 

Event sourcing (источники событий, регистрация событий, генерация событий) — это архитектурный паттерн, в котором все изменения, вносимые в состояние приложения, сохраняются в той последовательности, в которой они были выполнены. 

/blog/detail/pattern-cqrs-i-event-sourcing

Strangler Pattern

Strangler Pattern (Паттерн Душитель)

В этой статье поговорим о паттерне Strangler. Этот паттерн поможет мигрировать ваши легаси апликейшины на "новые рельсы" более мягко. 

https://bool.dev/blog/detail/strangler-pattern

Shared database паттерн

Shared database паттерн

В этой статье поговорим про Shared Database шаблон и когда его лучше приминять при проэктировании ваших сервисов.

https://bool.dev/blog/detail/shared-database-pattern

Database per Microservice паттерн

Database per Microservice паттерн

В этой статье поговорим про подход выделять для каждого микросервиса свою бд и какие подводные камни тут могут быть

https://bool.dev/blog/detail/database-per-microservice

Паттерн хореография (Choreography)

message broker

Суть шаблона Choreography - каждый компонент системы участвует в принятии решений о ходе бизнес-транзакции, не полагаясь на центральную точку управления.

https://bool.dev/blog/detail/pattern-choreography

Gateway паттерны

Существует 3 подхода к построению gateway. В статьях ниже рассматриваем их и когда какой лучше использовать

Gateway Offloading паттерн

gateway offloading pattern

Этот шаблон полезен, когда клиент должен сделать несколько обращений к разным внутренним системам для выполнения операции.

https://bool.dev/blog/detail/gateway-offloading-pattern

Gateway Aggregation паттерн

Gateway Aggregation паттерн

Этот шаблон может упростить разработку приложений за счет переноса общего функционала сервисов, таких как использование сертификатов SSL, из других частей приложения в шлюз.

https://bool.dev/blog/detail/gateway-aggregation-pattern

Gateway Routing паттерн

Gateway Routing паттерн

Gateway Routing pattern  — это роутинг запросов к нескольким микросервисам с предоставлением одного эндпоинта который "торчит" наружу . Этот шаблон полезен, когда мы хотим предоставить несколько сервисов на одном эндпоинте и роутить их во внутренние back-end сервисы на основе запроса.

https://bool.dev/blog/detail/gateway-routing-pattern

Комментарии:

Пожалуйста авторизируйтесь, чтобы получить возможность оставлять комментарии