Задать вопрос
Ответы пользователя по тегу Сервис-ориентированная архитектура
  • Стоит ли делать отдельный микросервис для Баз данных?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    1 микросервис - 1 БД


    Если БД используют несколько микросервисов, то (согласно философии микросервисов) это неправильно.
    В таком случае, выделяй отдельный микросервис-прослойку для БД. Но это будет уже не БД, а другой, полноценный сервис - со своими API, репозиторием, версионированием и т.д.
    Ответ написан
    5 комментариев
  • С чем и как есть gRPC?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    1-2. Если говорить про микросервисы: каждый микросервис должен определять свою модель пользователя (только те поля/данные которые нужны конкретно ему) - да это будет копипаст

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

    3. Зависит
    4. Обычно, для популярных ЯП (ты не указал, но в тегах есть питон) есть официальные библиотеки с кодогенерацией - юзай их
    5. Какой архитектуры? Если про gRPC vs HTTP, то лучше копай в строну понимания синхронного (HTTP, TCP, gRPC) и асинхронного (очереди сообщений) взаимодействия
    Ответ написан
    2 комментария
  • Как работает синхронный вызов в микросервисах?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    блокируется микросервис (мс) вообще целиком или все-таки только поток, из которого сделан вызов?

    Блокируется поток (т.к. коммуникация идет с гранулярностью в 1 поток).

    Блокирующий вызов означает, что вызывающая сторона ОЖИДАЕТ ответа.
    Это сравнивается с НЕБЛОКИРУЮЩИМИ запросами, например, запись в очередь.

    Примеры блокирующих:
    - HTTP
    - gRPC
    - отправляешь сообщение в одну очереди и начинаешь читать ответ из другой (это тоже блокирующий)

    Примеры НЕблокирующих:
    - Kafka, Rabbit
    - Outbox (паттерн)

    Так почему тогда в книге написано, что блокируется микросервис?

    Значит, неправильно описал, не те слова подобрал
    Ответ написан
    3 комментария