Добрый день, имеется мониторинг игровых серверов написанной на фреймворке yii 2.
В базе имеется более 5к игровых серверов, дальше только будет только расти.
Суть проблемы в том, нужно обновить каждые 5 минут информацию о серверах(через сокет).
В данный момент работает все по крону через цикл, но мне кажется это совсем не правильно для большого количество серверов.
По этому хотел бы использовать какой ни-будь Worker типа (Gearman) или что то похожее.
Хотел бы услышать Ваши советы... что лучше использовать в данном случаи.
Посмотрите на Swoole. PHP, но непривычная демоническая логика ) Постоянно работающие процессы, асинхронная обработка, таймеры. Преимущество в неблокирующей обработке тех же HTTP/WebSocket вызовов. В результате эффективное решение для высокой нагрузки.
а по вашему как воркеры будут работать? также через циклы. мне кажется вы меняете шило на мыло. У меня проблема такого же формата. нужно перебирать цепочки валют (в цепочка по 5 пар валют) а цепочек около 100 тыс. раз в секунду. пока крона за глаза хватает. Проблема может быть в следующем: скрипт не успеет что то обработать за 5 минут. поэтому на вашем месте если бы у меня была такая задача. я бы разделил ее на 2 части, получение информации - 1 задача. работа с информацией - 2 задача.
Также решение может быть вот такое: посчитайте сколько человекочасов вы потратите на решение этой проблемы, умножьте на свою ставку в час. и посмотрите, сколько стоит увеличить характеристики вашего сервера, чтобы он обрабатывал информацию быстрее