Сообщений: 3,968
Тем: 90
Зарегистрирован: Nov 2010
Репутация:
15,337
xolseg Написал:А зачем нам много кол-во человек обрабатывать? Нам нужно обработать мир, а не отдельный взятый кусок. Я тогда не очень понимаю, что вы хотите (. Я думал 20к рыл в одном инстансе.
Сообщений: 437
Тем: 7
Зарегистрирован: May 2011
Репутация:
2,580
По-моему намного лучше делать кластеризацию каких-то отдельных компонентов, чем вот так вот делить хер знает как по регионам. Например, берем компонент, который больше всего занимает процессорного времени, кластеризиуем его на две машины. В итоге компонент обрабатывает события намного быстрее. Всё еще недовольны быстродействием этого компонента ? Добавляем еще машину. И так далее. Причем расширение отдельного компонента происходит намного легче, чем расширение всего сервера.
Вообще лучше забейте на эту идею. Слишком много кода надо будет переписывать, да и столько онлайна, чтобы реально нужно было лезть на облака, ни один сервер л2 не соберет.
Сообщений: 3,354
Тем: 97
Зарегистрирован: Aug 2011
Репутация:
9,445
Ro_0TT Написал:Я тогда не очень понимаю, что вы хотите (. Я думал 20к рыл в одном инстансе.
Ну если представлять Мир л2 в целом как инстанс то да, 20к рыл в инсте.
GabberBaby Написал:По-моему намного лучше делать кластеризацию каких-то отдельных компонентов, чем вот так вот делить хер знает как по регионам. Например, берем компонент, который больше всего занимает процессорного времени, кластеризиуем его на две машины. В итоге компонент обрабатывает события намного быстрее. Всё еще недовольны быстродействием этого компонента ? Добавляем еще машину. И так далее. Причем расширение отдельного компонента происходит намного легче, чем расширение всего сервера.
Вообще лучше забейте на эту идею. Слишком много кода надо будет переписывать, да и столько онлайна, чтобы реально нужно было лезть на облака, ни один сервер л2 не соберет.
Почему хер знает как? У нас есть отдельные регионы которые относятся к центру например к городам.
Причём тут облако? Почему забить? Слишком много кода это понятие относительное.
Сообщений: 754
Тем: 14
Зарегистрирован: Aug 2011
Репутация:
3,478
Можно значительно проще: разделить весь мир на отражения как это везде сейчас и тогда онлайн это просто вопрос количества отражений мира. Останется лишь справляться с потоком информации туда и обратно.
Сообщений: 3,354
Тем: 97
Зарегистрирован: Aug 2011
Репутация:
9,445
pchayka Написал:Можно значительно проще: разделить весь мир на отражения как это везде сейчас и тогда онлайн это просто вопрос количества отражений мира. Останется лишь справляться с потоком информации туда и обратно.
Не очень понял, что имело ввиду.. можно подробнее?
Сообщений: 754
Тем: 14
Зарегистрирован: Aug 2011
Репутация:
3,478
Ну вроде как в Айоне или Тере или БнС: каждая локация имеет отражение (копию), можно выбрать канал в котором находиться. Они создаются и уничтожаются по мере нагрузки на сервер.
Сообщений: 2,228
Тем: 77
Зарегистрирован: Jan 2012
Репутация:
12,733
Самое веселое в кластеризации ждет вас когда посыпятся звенья из цепочки вашего кластера
Все это нужно продумывать на глубоком уровне, заранее учитывая возможные провалы в чем то.
При чем при любой реализации, что вы поделите на зоны мир, что вы просто будете обрабатывать
какую то информацию (предварительно ее разделяя) по средствам разных машин,
если из строя выйдет одно звено вашего кластера, в любом случае вас ждут неприятные сюрпризы.
Я думаю мало кто осилит реализовать это с умом. Оно как минимум того не стоит.
А по поводу расширения мира, тут некоторые люди не правы, не забывайте о том что существует такая
штука как инстанс, по средствам которого можно сделать хоть 100 игровых миров параллельно
на одном игровом сервере. И тут уже да, придется думать о ресурсе.
Решил положить кабель по потолку, так как очень большой пинг меня не устраивает.
Сообщений: 754
Тем: 14
Зарегистрирован: Aug 2011
Репутация:
3,478
Вообще клиент всегда должен быть подключен к серверу. Что именно он считает сервером значения не имеет. Если построить некий фронт-энд, который будет в зависимости от нужных услоувий перебрасывать нагрузку то на один то на другой сервер - то можно сделать кластер. Там необязательно даже по локациям это делать. Проблема в нагрузке не в том, сколько обрабатывать персонажей в данной точке, а в потоке информации. Можно на один сервер поместить нагрузку рассчета движений, другой на вычисления, четвертый на функции игрового сервера, третий на сетевой обмен и т.д.
Ла2 - открытый игровой мир. Кластерная ММО типа евы всегда разделена на зоны. Тут не уживаются принципы. И даже если поместить в локацию 15000 игроков и сервер будет справляться, каждому клиенту нужно передать 14999 комплектов пакетов как минимум - это DDoS. Только разделение на отражения поможет.
Сообщений: 437
Тем: 7
Зарегистрирован: May 2011
Репутация:
2,580
xolseg Написал:Почему хер знает как? У нас есть отдельные регионы которые относятся к центру например к городам.
Очень странное деление. Представь сколько надо будет посылать данных, просто если за персонажем бежит пачка мобов при переходе из одного региона в другой ?
xolseg Написал:Причём тут облако? Потому что облако может автоматически добавить или убавить вычислительной мощности, если в локацию вдруг прибежит 10к игроков. И это будет гораздо дешевле, чем содержать мощные машины, которые возможно даже никогда не будут использованы на полную мощь.
xolseg Написал:Почему забить? Слишком много кода это понятие относительное. Потому что это не принесет никакого профита в сфере серверов л2. Никогда. В общем мое мнение, идея - неудачная, реализация тоже скорее всего будет неудачной, так как слишком много всего продумать в таком делении на регионы. Но всё равно желаю удачи.
Сообщений: 327
Тем: 9
Зарегистрирован: Apr 2012
Репутация:
1,457
pchayka Написал:Ну вроде как в Айоне или Тере или БнС: каждая локация имеет отражение (копию), можно выбрать канал в котором находиться. Они создаются и уничтожаются по мере нагрузки на сервер. Есть что-то похожее - двойные локации для разных уровней (в l2p_epilogue такое вроде-бы реализовано было). Только сделать их не по уровням, а прямой ТП независящий не от чего.
|