Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Посоветуйте реверс прокси / 13 сообщений из 13, страница 1 из 1
26.05.2012, 08:59
    #37812715
G@rry_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте реверс прокси
Здравствуйте.

У меня есть маленькая задачка. Есть веб-сервер, который кроме того что отдает статику еще и стирмит некоторые данные. Данных в рамках одного потока очень мало, но поток отдается очень долго (1-2 часа) и желающих все это получить может быть много. В итоге имеем очень много открытых tcp-оединений одновременно. Так вот, для уменьшения нагрузки на веб-сервер и прочего масштабирования нужно соорудить что-то вроде реверс прокси, который бы позволял реализовать такую схему.

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

Каким софтом это можно было реализовать?
...
Рейтинг: 0 / 0
26.05.2012, 13:39
    #37812809
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте реверс прокси
G@rry_, стримит какие данные ? если файлы, то традиционная схема для рунета, это когда php-скрипт указывает nginx где брать файл, а тот уже отдает. Это позволяет избежать двойной буферизации файла в памяти.
...
Рейтинг: 0 / 0
26.05.2012, 20:36
    #37813087
G@rry_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте реверс прокси
Стримит бинарные данные под видом бинарного файла бесконечной длинны. Но. Данные генерируются по ходу дела веб-сервером (есть специальный бекенд), т.ч. вариант с файлом не катит. Там по идее что-то вроде COMET сервера нужно было сделать, но мне было лень это все программировать, к тому же данные идут медленно но постоянно и соединение не закрывается по таймауту. Сейчас в качестве фронтенда работает nginx, но сервер у меня дохленький и поэтому nginx перестают уже справляться. Думаю чем бы его заменить, чтобы работало быстрее и чтобы позволило построить такую архитектуру при которой фронтендов могло бы быть несколько.
Пока читаю ману по HAProxy, но похоже он не умеет делать то что мне нужно.
...
Рейтинг: 0 / 0
26.05.2012, 20:45
    #37813096
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте реверс прокси
G@rry_, я так понимаю, суть не в том что nginx не справляется, а в том что для каждого соединения нужна отдельная программа постоянно генерирующая данные и именно эти программы потребляют ресурсы.
такого рода сайты не вчера ведь появились. да наверняка они там свои решения уже накопили, которые прокси не являются.
почему сразу прокси ? может node.js подойдет?
...
Рейтинг: 0 / 0
26.05.2012, 23:19
    #37813171
G@rry_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте реверс прокси
Ну, вам конечно виднее, как у меня там на самом деле. :)

Ладно если непонятно объяснил словами, то нарисую.
Сейчас работает так:


А должно так:


Но nginx (помимо того что потребляет 100% CPU при большем количестве соединений) не умеет делать второй вариант. Точнее умеет, если включить кеширование, но тогда он сначала все закеширует и только потом начнет отдавать клиентам. А мне нужно чтобы клиенты получали данные сразу же, без задержек, и при этом прокси должен еще и кешировать.
...
Рейтинг: 0 / 0
26.05.2012, 23:32
    #37813175
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте реверс прокси
G@rry_, веб-кеши так не работают
как можно кешировать ответ, если он еще не закончил отдаваться? откуда прокси знать, что начало запроса тоже можно скопировать и отдать другому клиенту? ни один обычный прокси этого не делает. не там ищите.
...
Рейтинг: 0 / 0
26.05.2012, 23:34
    #37813178
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте реверс прокси
А 100% загрузки cpu в программах типа nginx это еще нужно умудриться сделать. Они никогда столько не жрут чистого времени на обычных серверах.
Скорее всего, у вас тело ответов буферизируется на диск. Попробуйте поднять кеши и еще протянете пока все нормально не напишите.
...
Рейтинг: 0 / 0
28.05.2012, 09:35
    #37813946
bga83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте реверс прокси
G@rry_,

squid в режиме обратного прокси не подойдет?
...
Рейтинг: 0 / 0
28.05.2012, 11:22
    #37814151
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте реверс прокси
И хотя в squid есть некий collapsed forwarding : http://www.squid-cache.org/Versions/v2/2.7/cfgman/collapsed_forwarding.html
но подобная настройка подразумевает, что новый подключившийся клиент резко получит все, что старый клиент скачал ранее.
Стриминга, то есть так чтобы прокси начал отдавать с "середины", не будет.
...
Рейтинг: 0 / 0
28.05.2012, 11:57
    #37814223
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте реверс прокси
G@rry_,

мультикаст изобретаете чтоли?
...
Рейтинг: 0 / 0
28.05.2012, 12:30
    #37814269
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте реверс прокси
Андрей ПанфиловG@rry_,

мультикаст изобретаете чтоли?
а если и так? мультикаст в интернете запрещен Мировой Закулисой.
...
Рейтинг: 0 / 0
29.05.2012, 03:10
    #37815553
G@rry_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте реверс прокси
Андрей ПанфиловG@rry_,

мультикаст изобретаете чтоли?
Да, с поправкой на жизненные реалии. Все это работает в Инете и в качестве транспорта, по разным причинам, приходится использовать HTTP.
...
Рейтинг: 0 / 0
29.05.2012, 03:15
    #37815555
G@rry_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте реверс прокси
netwindИ хотя в squid есть некий collapsed forwarding : http://www.squid-cache.org/Versions/v2/2.7/cfgman/collapsed_forwarding.html
но подобная настройка подразумевает, что новый подключившийся клиент резко получит все, что старый клиент скачал ранее.
Стриминга, то есть так чтобы прокси начал отдавать с "середины", не будет.

Так мне и не нужно "с середины". Как раз нужно чтобы с самого начала.

Спасибо за наводку попробую.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Посоветуйте реверс прокси / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]