Вопросы к Поиску с Алисой
Вот несколько паттернов микросервисной архитектуры:
Service Registry (реестр сервисов). proglib.io Каждый микросервис регистрирует себя в центральном реестре (например, Netflix Eureka или Consul). proglib.io Когда одному сервису нужно взаимодействовать с другим, он обращается к реестру, чтобы узнать текущий адрес нужного сервиса. proglib.io
API Gateway (API-шлюз). proglib.io cloud.vk.com Действует как единая точка входа для всех клиентских запросов. proglib.io Он принимает запросы от клиентов и перенаправляет их соответствующим микросервисам. proglib.io
Circuit Breaker (предохранитель). proglib.io Предотвращает каскадные сбои в системе. proglib.io Когда один сервис начинает давать сбои, Circuit Breaker временно блокирует запросы к этому сервису, предотвращая перегрузку и позволяя системе восстановиться. proglib.io
Data Sharding (шардинг данных). proglib.io Используется для распределения нагрузки на базу данных. proglib.io Данные разделяются на несколько баз данных или экземпляров базы данных. proglib.io
Polyglot Persistence (многовариантное хранение). proglib.io Позволяет использовать разные технологии баз данных для разных микросервисов, исходя из их конкретных потребностей. proglib.io
Smart Endpoints, Dumb Pipes (умные конечные точки, глупые каналы). proglib.io Рекомендует размещать бизнес-логику в самих микросервисах (умные конечные точки), а не полагаться на сложное промежуточное ПО. proglib.io
Database per Service (база данных для каждого сервиса). proglib.io cloud.vk.com Каждый микросервис имеет собственную базу данных, и сервисы общаются через чётко определённые API. proglib.io
Async Messaging (асинхронный обмен сообщениями). proglib.io Вместо синхронного взаимодействия между микросервисами, этот паттерн предполагает использование очередей сообщений для асинхронной коммуникации. proglib.io
Stateless Services (сервисы без состояния). proglib.io Проектирование микросервисов как stateless (без сохранения состояния) упрощает масштабирование и повышает устойчивость. proglib.io