вопрос: сильно плохо сайту будет, если делать get запрос на небольшую БД каждые 3-5 секунд?
сайту будет ок
Юзайте сокеты. Постоянно долбить базу запросами совершенно плохая идея.
хорошо, сейчас буду пробовать
Вредный совет, лучше кешировать результат запроса, или вообще держать лидерборд в redis sorted set
Объясните вашу логику? Человеку нужен постоянно открытый канал для связи с сервером, для "живого обмена данными". Он спросил, уместно ли будет долбить сервер get запросом каждые 3 секунды? Ему и ответили, что для подобного поведения есть специально разработанные инструмент "соккеты". И тут вы с кешированием... Интересно понять вашу логику? 🤔
Для сокетов нужно систему броадкастинга делать, и на каждое изменение слать на клиенты. Проблема с частыми запросами одного и того же решается через кеширование на беке, а не внедрением сокетов.
Так ему актуальные данные нужны с базы а не кэшированные
Только хотел это же написать. Вы опередили. 🙂👌🏻
Ну так актуальные они могут быть 1 секунду, 0.5 секунд, 0.01 секунд - и на это время тоже можно кешировать. Клиентов может быть очень много, и броадкастить на всех лидерборд не стоит. К тому же бывают реплики, которые забирают на себя селект запросы. Сокеты вполне применимая технология, но только добавлением ее в проект ничего не решить, нужен пабсаб в каком-то виде и еще несколько нюансов.
Зачем если он собрался делать небольшой запрос к базе раз в 5 сек. Вы оба все усложняете
То есть на каждое изменение очков, сервак должен пройтись по всем открытым конекшнам и разослать новый лидерборд. А что насчёт рейс кондишна, когда одновременно кто-то поменял очки свои, но позднее пришел неактуальный селект.
Вы уже полезли в дебри... Задан был конкретный вопрос. Уместно ли долбить базу http запросами? Человеку ответили, что для подобных ситуаций есть специально разработанные инструменты. И тут вы с редисом, бекендом и оптимизацией... Я конечно понимаю, круто и умно написано. Но мне кажется для изначального вопроса просто слишком излишне
Ну так вы тоже лезете в дебри, так как проблема нагрузки базы - проблема бека. Делать запрос раз в минуту, но милионом клиентов это тоже нехилая нагрузка, сопоставима з тысячей клиентов каждые пару секунд
Для базы нет разницы как к ней запросы идут, и если ее производительность будет проседать, то выбор http или websocket транспорта тут явно не имеет значения
А у него уже миллион клиентов?) или вы за преждевременные оптимизации?
А вы просто за сокеты)) без понимания проблемы))
Ладно, это не к вам скорее всего, сори)
Да... Ребят. Откройте http запрос одни заголовки. И после другое и сравните. Это к разговору о разнице. Ну и про остальные в общем я уже сказал. Я так понимаю из простого вопроса, устроили "бои письками" с разговором про реализации бекенда. 😂😂😂 Я радуюсь пониманию!!! Но всё равно благодарен. Дали пищу для размышлений. 👌🏻👍🏻
Обсуждают сегодня