Есть идея с созданием игрового сервера (чисто для души). Проблема игрового сервера в том, что нужно много оперативы и процессора. Но рано или поздно, при большом онлайне, слоты закончатся. Точно знаю, что у задуманного игрового сервера слабым местом будет БД (MySQL). А как можно разделить работу игрового сервера на 2 и более физических сервера? Да и можно ли? Пните в нужном направлении - как хоть данный вопрос гуглу задать.
Ensiferum вот например мускул вынести на отдельный сервак =) А еще для извращенцев - вынести кажду таблицу на отдельный сервак
Самое простое - БД на отдельный сервер. Если БД жрет очень много, а все остальное - чуть-чуть, то можно хранить часть таблиц на одном сервере, часть - на другом. Кластер тут совсем ни к чему.
Если правильно построить работу с БД, то можно потом перенести таблицы из InnoDB в MySQL NDB Cluster (что делается одним ALTER TABLE name ENGINE=NDB в онлайн режиме). А уж эта сволочь маштабируется просто зверски.
там специфика на выборки из больших таблиц + обработка deadlock. + требования к размерам памяти на нодах.
440Hz Ну так оговорка о правильном построении базы не зря написана, а кто читает через слово - сам виноват
Апельсин WOW 440Hz Игра не на PHP, по сути всё, что я могу сделать с сервером - это установить и настроить. Однако каким-то образом похожие серверы держат нагрузку в десятки тысяч онлайн (минимальное соединение 128 кбит/сек)
ты бы сразу сказал, что ты хочешь сделать, мы же не телепаты и по wow: не знаю как там, но я как-то писал "утилитку", которая имела "менеджер нагрузки". Этот менеджер обрабатывал только логины и сессии, и при инициализации "нового" сервера (процесс) открывал его на одном наиболее пустом сервере (комп) и уведомлял клиентов об адресе этого сервера (имя и ip), где менялся только порт. И стояла циска, через которую была настроена маршрутизация с правилом по порту, перекидывала на нужный сервак пакеты, все шли через эту циску.