LINUX.ORG.RU
ФорумAdmin

Как разбросать запросы на сервера по IP ?

 


1

1

Чтобы юзер с одним IP «прилип» к определ серверу ? Если сделать это так: DNS балансировка на эти сервера + на каждом сервере nginx с ip-hash - то будет ли это работать ? Есть ли альтернативы ?

Перемещено tailgunner из linux-org-ru


Ты пишешь не в ту ветку.

weare ★★
()

Ты имеешь в виду sticky sessions?

leave ★★★★★
()
Ответ на: комментарий от leave

Писать в штанишки и искать виновного. Порицать его и продолжать говнокодить говнопроект с говноархитектурой..

expelled ★★
()
Ответ на: комментарий от expelled

Ой да ладно тебе - наплоди masterов а потом переключайся между ними при малейшем пуке и пытайся что-то сделать чтобы это все работало Вот тебе и говноархитектура

Jopich
() автор топика
Ответ на: комментарий от Jopich

Надежностью здесь и не пахнет. Что ты будешь делать, если у тебя апстрим насосал данных для обработки и внезано перестал отвечать за connect_timeout? Перебросишь все запросы на другой? Но ведь первый их тоже обрабатывает, беря из бэклога.

leave ★★★★★
()
Ответ на: комментарий от leave

речь идет о redis. Не понимаю как ты предлагаешь его использовать в конфигурации «master-slave» тем более что он однопоточный.

Jopich
() автор топика
Ответ на: комментарий от leave

Ну сдох и фиг с ним - далее то данные будут обрабатываться другими потоками ?

Но ведь первый их тоже обрабатывает, беря из бэклога.

Что ты под этим имеешь ввиду ? Сервис сдох nginx на него запросы не посылает.

Jopich
() автор топика
Ответ на: комментарий от Jopich

Кто тебе мешает в редис ходить несколькими клиентами одновременно?

leave ★★★★★
()
Ответ на: комментарий от loskiq

Но зачем привязывать пользователя к серверу?

Хотя тебе и без меня уже всё объяснили.

generator ★★★
()
Последнее исправление: generator (всего исправлений: 1)
Ответ на: комментарий от leave

ну да редис однопоточный соотв больше 1 процессора ему не сьесть если на сервере 20 ядер соотв получаем узкое место. балансировка по ап решает эту проблему

Jopich
() автор топика
Ответ на: комментарий от Jopich

http://redis.io/topics/benchmarks

With high-end configurations, the number of client connections is also an important factor. Being based on epoll/kqueue, the Redis event loop is quite scalable. Redis has already been benchmarked at more than 60000 connections, and was still able to sustain 50000 q/s in these conditions. As a rule of thumb, an instance with 30000 connections can only process half the throughput achievable with 100 connections.

Нет, конечно, хозяин-барин, можете и липкие сессии использовать.

балансировка по ап решает эту проблему

и добавляет новых :D

leave ★★★★★
()
Последнее исправление: leave (всего исправлений: 1)
Ответ на: комментарий от Jopich

Да и при любой CPU-жрщем запросе типа zrange 0 -1 все это очередь будет ждать пока этот запрос исполнится :)

Jopich
() автор топика
Ответ на: комментарий от Jopich

Потому что nginx ждет ответа от бекенда, отдает статику, оперирует кешем, отдает данные медленным клиентам и вобще тот еще комбаин.
А редис должен работать на мелких ключах (выполнять запрос и отдавать данные почти мнгновенно).

expelled ★★
()
Ответ на: комментарий от expelled

А редис должен работать на мелких ключах (

С чего ты это взял ? Необязательно - Это ж не memcached :)

Jopich
() автор топика
Ответ на: комментарий от Jopich

Следуя подобной логике этот проект и появился..

Note:

Ardb uses 1 threads in this benchmark test, since redis is single threaded application. But ardb is actually a multithreaded applcation, you can start the server with more threads by setting 'thread-pool-size' to 2 or higher to increase the read/write performance.

But ardb is actually a multithreaded applcation

expelled ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.