Easy Rider
L7 не покупается
Nick
а вы такое дырявое говно делаете что возможна атака на L7?
Easy Rider
она возможна везде
Easy Rider
ну например, запрос геообъектов в квадрате, весьма ресурсоемкая операция, и кэшировать сложно
Nikita
Nick
Easy Rider
Easy Rider
свой город
Easy Rider
он еще не юзер
Nick
Easy Rider
кроме того он должен иметь возможность смотреть объекты на карте, еще не будучи зареганным юзером
Nick
сто лет в обед есть дадата которая сама вам найдет ближайшее совпадение по адресу
Easy Rider
ну в любом случае, неавторизированные юзеры тоже должны у меня иметь возможность смотреть карту
Easy Rider
там разные города, объекты всякие
Easy Rider
а я посмотрел, монга не особо шустрая в плане геопоиска
Easy Rider
кстати такой момент, если я увеличу количество ядер на сервере, то получается, если коллекция сидит в памяти, и есть только операции чтения, то это частично решит проблему?
Nick
Easy Rider
Easy Rider
можно смотреть лентой, можно на карте
Nick
да, это сайт поиска попутчиков в походы
хех, хз зачем тут защита от ддоса тем более на уровне Л7. Вынести геопоиск на отдельную тачку если это прям может повлиять.
Вообще тут как раз и мое сообщение про проработку и вектора атак и оценку в денежном эквиваленте стоимости защиты и выхлопа и чтото сдается мне тут не будет ляма пользователей, а уж тем более те кто смог бы заметить что поиск работает медленнее чем месяц назад изза того что какаято нагрузка пошла. Ну и опять же дастаточно сделать фолбэк в интерфейсе, что если геопоиск за 5 секунд не ответил то юзеру выдать страницу с поиском по названию
Easy Rider
подумаю, спасибо
yopp
В целом защита от DDOS это задача уровня приложения, а не базы данных.
Из инструментов в самой монге это время жизни курсора (maxMs). В случае превышения времени выполнения запроса в таком курсоре, задача по обработке будет принудительна завершена. Но это не мешает брать не «тяжестью», а «количеством».
На практике практически ни кто «тяжелые» эндпоинты не ищет и не разбирается как их эксплуатировать, это трудозатратно.
Дешевле и быстрее взять в аренду ботнет за пару сотен долларов и нагнать на сервис пару гигабит трафика. Если это не статический сайт, то фильтровать такой поток, не задевая реальных пользователей, на порядок дороже чем стоимость аренды ботнета.
Easy Rider
Easy Rider
как раз тяжелыми эндпоинтами, например поиском полнотекстовым
Easy Rider
че их искать, и так понятно что тяжелое а что нет
Easy Rider
от всего что меньше уровня приложения, по идее должны спасать специальные сервисы, ну типа ддос гуард или клаудфлар
RapidCodeLab
по моему я это уже все читал про ддос тут, эта песня хороша, начинай сначала?))
RapidCodeLab
у нас есть сайты 500к дейли, никто не ддосит, ибо нах это никому не нужно. а вот сервис поиска попутчиков в пходы, будут ддосить каждый день конечно.
Easy Rider
Aryn
Подскажите, как можно сделать так, чтобы при локальных подключениях для рут юзера не нужен был пароль, а для не локальных, требовал пароль?
Nurlan
Aryn
Aryn
хотел открыть порт для подключений вне сети
Daria
добрый день, помогите составить запрос к монге
допустим, есть коллекция events
в каждой строке есть дата старта события startDate
получается, дата окончания события - это дата старта следующего по порядку, если отсортировано по дате старта
как составить запрос, чтобы вывести длительность каждого события?
Nick
Daria
вывести, нужно чтобы статистику длительности выполнеия посмотреть
Viktar
Andrey K.
Daria
Ну да, понятно, что если вычитать куда-то, то посчитать не сложно)
Интересно было, можно ли сразу в монгошеле как-то в аггрегации вычислинение вкрутить, т.к. операция разовая
yopp
Надо плейграунд вернуть назад :)
Aryn
Подскажите, возможно ли сделать "триггер", который будет реагировать на обновления документов в коллекциях?
Если документ обновили, то создать новый документ в определённой коллекции.
Mashxurbek
Mashxurbek
Mashxurbek
Mashxurbek
https://www.mongodb.com/developer/languages/javascript/nodejs-change-streams-triggers/
Mashxurbek
Aryn
Михаил
Всем привет. Слушайте никто не знает как это реализовать? У меня есть проект который разделен на две части. Одна из них проверяет сервера и сохраняет их состояние в базу и вторая это сервер на фласке который должен возвращать список серверов страницами. У меня задача такая нужно подгружать этот список динамически на сайте при этом между запросами может проходить большое время. У меня сейчас сделано это в виде /list?start=90&step=20 и сортировка по last_check: pymongo.DESCENDING. Но в этом случае когда новые данные появляются и какие то севера поднимаются выше то они смещаются между запросами и дублируются в таблице на сайте. Возможно ли как то эффективно сохранять состояние курсора и передавать его с каждым запросом чтоб избежать подобных проблем?
Михаил
Михаил
Vladyslav
Михаил
Сортировка идет по дате проверки серверов. Когда сервера проверяются они должны попадать в верх списка. Из за этого пока пользователь прокручивает список у него уже под десяток серверов переместилось на вверх. И как раз на эти самые 10 серверов будет дублирование в следующей загрузке.
Vladyslav
Vladyslav
Тогда у вас всегда будут актуальные данные
Михаил
Я смог разобраться. Достаточно просто было получить время когда пользователь открыл страницу и передавать это время с каждым запросом. А в бд уже делать last_check: {$lt: start_time}
クォーツ
всем привет
тут наверное не раз задавали этот вопрос но я повторюсь
какие источники или обучающие видеоролики посоветует по MongoDB?
в идеале мне с нуля 🫠
Viktar
クォーツ
только на английском языке? 🤔
Alexandr
Всем привет, подскажите плз можно ли через монгус при создании модели передать параметр имени бд? кажется я как то это делал, не помню🫠 я имею ввиду заменить дефолтное 'test' на свое
Easy Rider
クォーツ
Tetra
Alexandr
Это то я нагуглил, спасибо.
Женя
Ребята нужен совет или рекомендация
Недавно у нас в проекте произошло обновление движка, и теперь нам нужно перенести данные mongodb со старой версии на новый
Но дело в том, что схемы на новом проекте более сложные и разветвлённые
Есть какие нибудь инструменты чтобы эти данные было легче перевести в новый формат?
Сервер к слову на ноде
Отдельно Очумелые
Женя
Nick
Женя
Brykez7
Вопрос а можно ли как то на локалке сделать инкрементное поле у коллекции? Вроде в Atlas такое возможно а как на локалке такое сделать не знаю.
Brykez7
У меня есть "этапы" связанные с "задачей". И я хочу чтобы пользователи могли посмотреть по порядку эти "этапы". Поэтому я планировал сделать инкрементное поле. Но сейчас думаю что будет проще добавить в "этап" дату ее последнего изменения и сортировать по ней.
-
-
Встроенных средств нет, а objectId зависит от Timestamp, поэтому оно всегда разное.
-