172 похожих чатов

У тебя же не возникает вопросов, как мокать для тестирования

своего кода другой микросервис?

14 ответов

21 просмотр

Нет. Но как в хранимке делать и мокать потом в тесте обращение к другим сервисам - возникает

Dmitriy Sviridov
Нет. Но как в хранимке делать и мокать потом в тес...

А дай пример того как хранимка обращается к внешнему сервису. Конкретно у тебя.

Alexander- Автор вопроса
Dmitriy Sviridov
Нет. Но как в хранимке делать и мокать потом в тес...

А у тебя ещё и хранимка в другой сервис ходит, а не только в базу?

Alexander
А у тебя ещё и хранимка в другой сервис ходит, а н...

Вот хранимка, ходящая в другой сервис - это криминал уже...

Alexander
А у тебя ещё и хранимка в другой сервис ходит, а н...

У меня вообще хранимок нет. Но если бизнес-логику делать на хранимках, то это вполне себе реальный кейс

Dmitriy Sviridov
У меня вообще хранимок нет. Но если бизнес-логику ...

Ну тогда функция подключения к внешнему сервису в отдельный пакет и махинации с search_path. Чем тебе не мок?

Alexander- Автор вопроса
Dmitriy Sviridov
У меня вообще хранимок нет. Но если бизнес-логику ...

В хранимках надо делать ту бизнес-логику, которая, максимум, касается только данных в базе. Все остальное - это уже однозначно работа для бэкенда на нормальном языке

Alexander
В хранимках надо делать ту бизнес-логику, которая,...

Тогда какой смысл бизнес-логику так размазывать? Часть будет в коде, часть в базе...

Alexander- Автор вопроса
Dmitriy Sviridov
Тогда какой смысл бизнес-логику так размазывать? Ч...

Потому что в некоторых случаях имеет смысл представить БД другим микросервисам не кишками наружу, а в виде микросервиса-хранилища. Например, когда тебе надо, чтобы доступ к данным получали несколько сервисов. Можно оформить интерфейс к данным в виде сервиса-обертки на полноценном языке, а можно в виде хранимок, и пустить другие сервисы прям базе (разрешив работать только через интерфейс хранимок, разумеется).

Alexander
Потому что в некоторых случаях имеет смысл предста...

Если так, то да. Но, опять-таки, если учитывать, что в хранимке нельзя делать обращение к внешним сервисам, то это всё годится лишь для совсем каких-то простейших случаев, где запросы строго в одну БД и больше ничего нет.

Alexander- Автор вопроса
Dmitriy Sviridov
Если так, то да. Но, опять-таки, если учитывать, ч...

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

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта