Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Уменьшить нагрузку на сервер

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Уменьшить нагрузку на сервер
metallist_d
Отправлено: 16 Декабря, 2013 - 19:31:23
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Добрый вечер! Ситуация следующая, есть сервис поиска билетов, билеты получаю по api другого сервиса. Все работало хорошо до того времени, пока не написал свое api. Т.е любой сервис будет искать у меня, а я в свою очередь на главном сервисе(возможно он ищет тоже где-то). Так вот сервисы которые обращаются ко мне, вешают главный сервис, у него срабатывает защита от ddos(скорее всего, он просто не отвечает некоторое время). Решение пришло на ум использовать очереди RabbitMQ, идея в следущем, наполняется очередь запросов на поиск, второй скрипт, который постоянно крутится в ожидании, считывает, допустим не больше 20, чтобы не сработала защита. Таким образом мы разбиваем весь объем запросов на "пачки". Может кто-нибудь сталкивался с такой проблемой или видит более "элегантное" решение, подскажите плис.
 
 Top
DelphinPRO
Отправлено: 16 Декабря, 2013 - 20:01:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




metallist_d пишет:
Т.е любой сервис будет искать у меня, а я в свою очередь на главном сервисе(возможно он ищет тоже где-то)
ахренеть...


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
metallist_d
Отправлено: 16 Декабря, 2013 - 20:42:36
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




??

(Отредактировано автором: 16 Декабря, 2013 - 20:43:27)

 
 Top
DelphinPRO
Отправлено: 16 Декабря, 2013 - 21:46:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




не обращайте внимания...
просто непонятно, зачем треьему сервису обращаться ко второму, если можно напрямую к первому O_o


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
caballero
Отправлено: 16 Декабря, 2013 - 22:03:00
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




чтобы АНБ не отследило Улыбка


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
metallist_d
Отправлено: 16 Декабря, 2013 - 22:09:14
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




DelphinPRO пишет:
не обращайте внимания...
просто непонятно, зачем треьему сервису обращаться ко второму, если можно напрямую к первому O_o

третий не знает про существование первого, там не все так просто. и таких как третий может быть n-штук.
 
 Top
Stierus Супермодератор
Отправлено: 17 Декабря, 2013 - 07:22:35
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Очереди нужны для обработки несинхронных задач. Когда ты положил туда задачу, а ответ тебе не обязательно нужен сейчас. То, что ты делаешь - решается обычным файловым счетчиком, городить RabbitMQ совсем не нужно. Для решения проблемы на ум приходят только прокси, файловые счетчики и кэширование, если это возможно.
 
My status
 Top
metallist_d
Отправлено: 17 Декабря, 2013 - 09:29:05
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Stierus пишет:
Очереди нужны для обработки несинхронных задач. Когда ты положил туда задачу, а ответ тебе не обязательно нужен сейчас. То, что ты делаешь - решается обычным файловым счетчиком, городить RabbitMQ совсем не нужно. Для решения проблемы на ум приходят только прокси, файловые счетчики и кэширование, если это возможно.


А не могли бы вы кинуть ссылочку или рассказать как можно это сделать через прокси?
 
 Top
caballero
Отправлено: 17 Декабря, 2013 - 09:55:08
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




если данные нужны сейчас то никакие счетчики не помогут

разве что купить несколько сотен IP адресов и ходить с них по очереди


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Stierus Супермодератор
Отправлено: 17 Декабря, 2013 - 12:10:28
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Цитата:
у него срабатывает защита от ddos(скорее всего, он просто не отвечает некоторое время)
С одного ip идет слишком много запросов - этот ip банится на какое-то время, используя прокси-сервера, запросы к вешнему серверу будет идти не только с вашего ip, но и с прокси, таким образом вы не попадаете под бан. Не очень понимаю, на что ссылку вам дать
 
My status
 Top
metallist_d
Отправлено: 20 Декабря, 2013 - 15:43:04
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Проблему решил немного по-другому. Зарегистрировал несколько ip и запросы отправляю с рандомно выбранного. Спасибо всем за советы!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB