Теория php программирования на примере? Всем привет, парни.
Усиленно учусь и повышаю свои навыки в программировании.
И с каждой сложной задачей возникает ряд вопросов. И как раз один из них.
Очень важное замечание. В примерах я имею ввиду обычный сервер на linux с оперативной памятью до 4ГБ. Просто я сейчас работаю на таком и не имею ресурсов яндекса.
Возьмем веб-сервис, который проверяет доступен ли сайт в данный момент или нет.
Задача для одного сайта простая, с помощью curl(как один из вариантов), сделать легко.
Но как быть, если таких сайтов надо проверять несколько тысяч и проверять нужно раз в минуту?
Если в первом случае, с одним сайтом, можно сделать по cron, а как быть с тысячами сайтов?
В цикле проверять каждый сайт, но тогда каждый сайт будет невозможно проверять раз в минуту, на это может уйти несколько часов.
И второй вариант, сервис который мониторит фриланс биржи по ключевым словам и делает уведомления. Где у одного фрилансера может быть несколько ключевых слов, по которым он собирает заказы.
Как я здесь вижу реализацию такого сервиса.
Так же, в цикле берем одного фрилансера, берем его ключевые слова. И по этим словам, проходимся циклом и проверяем наличие таких заказов.
Мои варианты, я не считаю идеальными и возможно даже не рабочими при больших объемах. Потому что это требует больших ресурсов сервера. Подскажите, как лучше реализовывать подобные задачи, может уже кто-то делал подобное?

21 Авг 2019 в 06:30
142 +1
0
Ответы
1

Для решения подобных задач, когда необходимо выполнять большое количество запросов и обработок, важно использовать асинхронные операции.

Для проверки доступности нескольких тысяч сайтов раз в минуту можно воспользоваться многопоточностью или асинхронными запросами. Например, можно использовать библиотеку ReactPHP или Swoole для выполнения асинхронных HTTP запросов к каждому сайту в отдельном потоке или процессе. Таким образом, можно значительно ускорить выполнение задачи.

Для мониторинга фриланс бирж также можно использовать асинхронные операции. Например, можно создать пул потоков, каждый из которых будет отвечать за мониторинг определенных ключевых слов фрилансера. Таким образом, можно обрабатывать большое количество фрилансеров и ключевых слов параллельно.

Важно учитывать оптимизацию запросов и обработок данных, чтобы избежать излишней нагрузки на сервер. Также можно использовать кэширование результатов запросов для уменьшения нагрузки на сервер и ускорения работы при повторных запросах.

Надеюсь, что эти рекомендации помогут вам решить задачи эффективно и оптимально. Если у вас будут дополнительные вопросы или нужна помощь с конкретными реализациями, не стесняйтесь обращаться за советом. Удачи в вашем программировании!

20 Апр в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 577 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир