Middle+
19
0
questionbank

Какие микросервисные паттерны вы знаете?

Ответ от нейросети sobes.tech
  • Service Discovery: Позволяет сервисам находить друг друга. Реализуется через централизованный реестр (например, ZooKeeper, Consul, etcd).
  • API Gateway: Единая точка входа для клиентов, маршрутизирующая запросы к соответствующим сервисам. Обеспечивает аутентификацию, авторизацию, балансировку нагрузки.
  • Circuit Breaker (Автоматический выключатель): Предотвращает каскадные сбои, временно отключая вызовы к неисправным сервисам.
  • Bulkhead: Изолирует ресурсы разных сервисов, предотвращая их взаимное влияние при сбоях.
  • Saga: Управляет распределенными транзакциями, обеспечивая согласованность данных между несколькими сервисами с помощью последовательности локальных транзакций и компенсирующих действий.
  • Event Sourcing (Событийно-ориентированное хранилище): Хранит все изменения данных в виде последовательности событий, обеспечивая полную историю состояний.
  • CQRS (Command Query Responsibility Segregation): Разделяет логику чтения и записи данных на разные модели, оптимизируя производительность для каждого типа операций.
  • Database per Service (База данных на сервис): Каждому сервису выделяется собственная база данных для обеспечения независимости и децентрализации.
  • Strangler Fig: Постепенное замещение монолитного приложения микросервисами, перенаправляя части трафика.

Пример реализации Circuit Breaker в PHP (псевдокод):

php
  • Service Discovery: Позволяет сервисам находить друг друга. Реализуется через централизованный реестр (например, ZooKeeper, Consul, etcd).
  • API Gateway: Единая точка входа для клиентов, маршрутизирующая запросы к соответствующим сервисам. Обеспечивает аутентификацию, авторизацию, балансировку нагрузки.
  • Circuit Breaker (Автоматический выключатель): Предотвращает каскадные сбои, временно отключая вызовы к неисправным сервисам.
  • Bulkhead: Изолирует ресурсы разных сервисов, предотвращая их взаимное влияние при сбоях.
  • Saga: Управляет распределенными транзакциями, обеспечивая согласованность данных между несколькими сервисами с помощью последовательности локальных транзакций и компенсирующих действий.
  • Event Sourcing (Событийно-ориентированное хранилище): Хранит все изменения данных в виде последовательности событий, обеспечивая полную историю состояний.
  • CQRS (Command Query Responsibility Segregation): Разделяет логику чтения и записи данных на разные модели, оптимизируя производительность для каждого типа операций.
  • Database per Service (База данных на сервис): Каждому сервису выделяется собственная база данных для обеспечения независимости и децентрализации.
  • Strangler Fig: Постепенное замещение монолитного приложения микросервисами, перенаправляя части трафика.

Пример реализации Circuit Breaker в PHP (псевдокод):

php

Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.

microservicesdesign-patternsarchitectural-patternscommunication-patternsapi-gatewayservice-discoverycircuit-breaker