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

Всем привет! у меня есть вопрос на тему использования postgres

в го ( драйвер pgx)

Можно ли реализовать возможность слать READ запросы на один эндпоинт (реплика БД) а WRITE на другой (MAIN database).

Первое что пришло в голову - просто сделать 2 инстанса БД в сервисе и вызывать их явно для каждой операции. Но является ли это нормальной практикой? Или может что-то есть покруче на уровне API самой либы? Кто-то сталкивался с похожей задачей? Буду благодарен за советы)

7 ответов

2 просмотра

Для подобных целей я обычно видел реализации двух репозиториев. Read и Write

rglitchard- Автор вопроса
Mikhail
Для подобных целей я обычно видел реализации двух ...

что-то вроде этого? ``` type Repository struct { replica *sqlx.DB main *sqlx.DB } // foo реализует чтение func (r *Repository) foo() { r.replica.read(…) } // bar реализует запись func (r *Repository) bar() { r.main.write(…) } ```

rglitchard
что-то вроде этого? ``` type Repository struct {...

Пока что на go руку не набил. Но обычно просто два разных интерфейса

В database/sql есть поддержка реплик

rglitchard- Автор вопроса
Alexander Grebennikov
В database/sql есть поддержка реплик

спасибо! я верил что там должно быть что-то похожее, пойду ознакамливаться)

Alexander Grebennikov
В database/sql есть поддержка реплик

Если базы на разных серверах с этим никаких проблем?

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

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

Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Есть тут те у кого дети есть + 2 работы + в зал ходят + в семейной жизни все хорошо?
Abdul-Aziz M.
13
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
кто шарит: mattermost отслеживает что ты на пк запускаешь?
Valentin
13
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
Всем привет! Стоит задачка, выбрать из выпадающего списка конкретный цвет. Пока реализовал через активацию контрола списка и выбора несколькими нажатиями стрелки вправо до нуж...
Роман.С
9
Карта сайта