Похожие чаты

Всем привет. Вопрос может не совсем по elastic но все

же. Как и когда вы делаете синк в elastic? Допустим у меня основная база mongo или postgres. И для поиска у меня есть elastic. Мне нужно на добавление/удаления/апдейт делать синк в еластик. Какие есть оптимальные способы? Например сразу же в методах сервисов, или через eventEmitter делать event, а какой нибуть другой сервис слушает их и делает синк. Или хуки прям из бд использовать? Или через очереди типа kafka rebbit? Или еще что то?

2 ответов

4 просмотра

Все зависит от того, какой рейт измнений в единицу времени и требованиям к доступности в поиске. 1. Если мало - в лоб, по крону выгребать по lastupdate и синкать в ES, раз в час например. 2. Если много или надо чтобы был малый лаг доступности: влепить emitter который будет складывать в RabbitMQ id / тип сущностей, которые обновились и надо синкать (insert|update|delete). Хуки из БД не рекомендую, у тебя все равно есть лаг индексации самого ES, а хуки некисло будут нагружать операции insert/delete

Vitaly (vitos) Maslyaninov
Все зависит от того, какой рейт измнений в единицу...

Если мало, то крон можно и раз в минуту, получаем актуальную бд в лагом в минуту

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

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

Здравствуйте! Есть вопросы по ПК: 1.1. Безопасно ли запускать программы, которым я не доверяю, в виртуальной машине под KVM+qemu? (x86_64) 1.2. То же самое при использовании ...
Pavel
3
Hi everyone! I have a two-folded message to share today. First: updates and news, as we are being asked for those. We still want to go like we did the last 6 years: we w...
Marten | Unibright.io
31
Скажите, можно ли как-то "переместить" динамический массив из одной переменной в другую? Скажем, переместить из TList<> в TArray<>. Именно переместить, а не скопировать. Если ...
Eugene Krasnikov (ᴊɪɴ x)
37
Happy Friday and happy CartesiWeekly! This week on the list: 🪲 Bug Buster Update 🎥 Erick de Moura’s interview with Ornella from Web3TV 👽 Thriving Cartesi alien 🇧🇷 SBRC hackat...
Nida | Cartesi - Never DM first or ask for funds!
1
Oh.... Admins at the main TG is already muted me. How many months Sir you muted me? Or forever if you are here @Janevietani @JohnnySonic
Charles Dar
28
Вот еще криповенькая штука. uMain.pas(517,3) Warning: Case statement does not handle all possible cases И ЧО? 😂
Александр (Rouse_) Багель
20
комрады, че-та лыжы не едут var tmpFont: TFont; begin tmpFont:= TFont.Create; try case rgFontColor.ItemIndex of 0: tmpFont.Color:= clWindowText; 1: tmpFo...
Ed Doc
34
Интересно, нет ли какого-то способа получить из dll не адрес самой метки, а адрес со смещением?
The Bird of Hermes
54
.model small .stack 100h .data a db 'Hello, World!', '$' ; исходная строка b db 20 dup(?) ; строка b с запасом на максимальную длину .code main: ...
Алексей -man
3
вопрос, кого посмотреть в ютубе или где почитать про указатели чтобы раз и навсегда запомнить зачем они нужны и как правильно ими пользоваться? поделитесь хорошими ресурсами, ...
-
14
Карта сайта