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

Всем привет! Нужна помошь и подсказки по создании инфраструктуры трекинг

системы.

Будет создаватся на основе облака хецнера. Входящих данных примерно 2-10млн/мес.

Структуру накидали примерно такую:

- На входе 2 балансировщика хецнера (решили остановится на них, а не разворачивать свои) в разных локациях, которые распределяют запросы между одними и теми же виртуалками в разных локациях. 2 балансировщика для 2 ip. Приложения на них дергают инфу из запроса и пишут в PostgreSQL (тут чисто инсерты). Тут важна высокая доступность.
- PostgreSQL в виде нескольких виртуалок в разных локациях с мастерами за виртуалкой с PgBouncer. Дополнительно еще одна виртуалка с репликой базы для тяжелых селектов для админок. Тут важна высокая доступность.
- Отдельно еще 2 виртуалки в разных локациях за 1 балансировщиком хецнера для апдейтов и записи в базу (нагрузки на базу тут будет в 10-15 раз меньше). Тут важна почти высокая доступность.
- И еще 1 виртуалка для API и админок. В основном будет стучатся за данными в реплику PostgreSQL.

Нужно чтобы это все стабильно работало без отвалов и без проблем масштабировалось при росте нагрузки.

Вопросы:
1. PgBouncer только один на одной виртуалке. Как можно обезопасится при его отвале?
2. Насколько быстро синхронизируются мастера PostgreSQL и как часто? При каждом запросе синхронизируются или через какое-то время? Узкого места тут не будет? (мультимастер рассматривали в pro enterprise, но дорого)
3. Как-то можно на вскидку прикинуть, сколько ресурсов нужно будет для виртуалок под 10млн инсертов в месяц (примерно 15 колонок в базе, данные будут хранится примерно за последний год)? Или тут только тестить?
4. Может есть еще какие рекомендации? Или где есть явные грабли и узкие места?

P.S.: с PgBouncer не работал, с PostgreSQL на уровне поставил, настроил и забыл. Других хостеров и всякие куберы не предлагать. MongoDB рассматривали, но разрабы отказались из-за хреновой работы с джоинами.

5 ответов

21 просмотр

какой бюджет?

да

1Bot
да

на все 4 вопроса?

Nikitque 🦝
на все 4 вопроса?

хороший кейс, но надуманный про высокую доступность

важные вопросы: -структура пакета треккинга? -сколько точек для треккинга? -частота опроса? -наличие памяти на клиентах

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта