Системный администратор планеты
Большое агрегирование блогов системного администратора.
Уничтожающий совет и обсуждение от опытных системных администраторов.
Американская Лига Профессиональных Системных администраторов общий список рассылки.
Некоторое большое содержание системного администратора здесь со специализированным Операционным потоком - много материала системного администратора 21-го века, чтобы обладать и думать о.
Я подозреваю, что они развертывают последнюю версию своего кода, который требует, чтобы они перезапустили приложение (и надо надеяться запускающий некоторые тесты прежде, чем повторно включить доступ). С той точки зрения это - больше проблемы StackOverflow и меньше ServerFault один.
Я думаю, что возможно создать горячо исправляющую систему, но это обязательно было бы невероятно сложно. Из того, что я понимаю, сервер MMO "приложение" состоит из нескольких различных компонентов-
Сервер входа в систему - аутентификация Дескрипторов и действия как "концентратор" между серверами геймплея. После того как клиент в игре, они больше не взаимодействуют с сервером входа в систему. В такой системе Вы могли применить патчи и перезапустить сервер входа в систему, не вмешиваясь в геймплей (хотя у Вас будет промежуток времени, где люди не смогут войти в систему).
Серверы геймплея - Кластеры машин, сгруппированных в логические независимые единицы ("миры", и т.д.). Предполагается, что каждый кластер геймплея использует некоторый протокол внутренней связи для соответствия состояния друг другу; Вы, вероятно, оказываетесь перед необходимостью исправлять каждый кластер внезапно. Один возможный способ сделать это должно исправить теплую обработку отказа. Необходимо было бы затем смочь обоим
Серверы баз данных - Некоторое персистентное хранилище данных, как RDBMS. Надо надеяться, Вы не вносите изменения в хранилище данных настолько часто. По-видимому, каждый сервер/кластер геймплея имеет независимое хранилище данных. Вы смогли использовать тот же прием с теплой обработкой отказа (и сказать, что серверы геймплея, чтобы разъединиться, ожидать старых баз данных и баз данных обработки отказа для синхронизации, затем снова соединяются с обработкой отказа), но это кажется довольно опасным мне.
Все вышеупомянутые случаи добавляют невероятную сумму сложности к уже сложной системе и представляют набор мест, где отказ кода может вызвать потерю данных или повреждение.
Другое решение состоит в том, чтобы использовать язык, который разработан в течение 100%-го времени работы и имеет встроенные возможности hotpatching, выполняющего код. Erlang является хорошим выбором (hotpatching пример), и Java имеет схожую функциональность.
Я подозреваю, что общее время, когда Снежная буря (я вывожу, что, учитывая, что это - утро вторника, что Вы отправляете свой вопрос) кавычки для обслуживания для всего кластера; не каждый сервер занимает много времени, это для выполнения продолжает работать.
В то время как могло бы быть возможно возвратить отдельные серверы более быстро, которые будут незаконные крики фаворитизма к плеерам, области которых, оказалось, упали ранее в расписании. По сути, они подавляют все, пока вся работа не сделана; с сотнями областей, чтобы продолжить работать, они, вероятно, делают большую часть работы параллельно, но все еще сериализируют последнюю проверку перед возвращением вещей онлайн. При выполнении модернизации оборудования это, вероятно, сериализируется через столько дата-центров, сколько они имеют.
Относительно того, почему они выполняют обслуживание, часть его могла бы просто быть перезагрузкой производительности. В то время как было бы замечательно, если бы такие перезагрузки не требовались, стоимость выполнения, таким образом, по сравнению с влиянием не выполнения так может направлять их выбор здесь.
То, когда Вы смотрите на то, почему они не могут кластеризировать процессы и выполнить прокручивающееся обслуживание, что маленькие люди знают инфраструктуры WoW, предлагает, чтобы несколько машин предоставили услугу для каждой области (т.е. один для мира, один для экземпляров и набегов, один для полей битвы, и т.д.) они не используют совместно использованную с состоянием активно-активную установку процесса. Там не совместно использует живого состояния, только персистентных данных через базу данных.
В конце механике обеспечения онлайн-сервиса с сохранением информации к этому большому база подписчиков бросает вызов некоторым лучшим практикам, которые мы могли бы поддержать при разговоре о веб-сайте или другом традиционном основанном на Интернете сервисе.
Некоторые более свежие расширенные времена простоя в EvE Онлайн были об установке новых аппаратных средств как более быстрый SAN. В то время как можно технически переместить объем данных путем создания новой группы файлов на новом диске и затем освобождения основного, который привел бы к длительному периоду уменьшенной производительности из-за постоянного ввода-вывода. Таким образом, они решили отсоединить базу данных на 1.1 ТБ и переместить ее сразу.
Ответ на этот вопрос также полагается на определенное приложение. Например, сервер, обрабатывающий определенную звездную систему, не может быть заменен в горячем режиме, не разрушая игровую игру, таким образом, время простоя используется для переприсвоения более мощных серверов в потенциальные горячие точки. Кроме того, вычисления владения (суверенитет) звездных систем вычисляются. Это зависит от десятков различных переменных, все из которых могут измениться в зависимости от действий плеера. Само собой разумеется, выполнение этого живет, может вызвать чрезмерную блокировку и/или другие проблемы параллелизма. Но обращение к ним лучше всего оставляют stackoverflow.
В недавней теме, Как часто должен, я перезагружаю серверы Linux, другой положительный момент был упомянут, проверив, что все запускает правильно на перезагрузке или после любого (основного) изменения конфигурации.
Ни у кого больше нет опыта, на самом деле выполняющего что-то вроде этого? Ха.
Существует несколько причин, которые соединяют мостом и код и системы. Во-первых, помните, что большинство текущих 'больших' механизмов MMO было запрограммировано несколько лет назад, и несмотря на обновления графики и технологии с тех пор, все еще зависит от способа, которым многие из этих систем были записаны в 2000 или около этого. Онлайн кануном, например, все еще работает на одном огромном экземпляре Microsoft SQL Server, который является, почему они всегда пытаются вытащить больше из него путем обновления аппаратных средств.
Пример улучшения начиная с WoW и КАНУН начал, работа, сделанная в распределенных базах данных ключа/значения как MapReduce Google (и это - реализация с открытым исходным кодом, Hadoop), чрезвычайно быстро утвердительные сервисы очереди обработки ответа (Amazon SQS), и другое "облако" - ориентированный на технологии.
У меня есть большая часть опыта с КАНУНОМ (я - больше парня лазеров, чем парень боевых топоров), таким образом, некоторые из этих примеров более ОРИЕНТИРОВАНЫ НА КАНУН.
Насколько Системные причины идут:
Насколько причины программного обеспечения идут:
Выполнение экономики и с замкнутыми и с разомкнутыми кругами является одной проблемой для операторов MMO - если Вы не верите мне, прочитайте некоторые научные газеты, которые были записаны об игровых экономических системах и некоторые исследования более старых игр как Ultima Online, которая имела относительно примитивные экономические системы. Анализ, который, должно оказаться, пополняет разомкнутые циклы и определяет обман и другую отрицательную экономическую деятельность, должен произойти офлайн со снимком данных, которые могут иногда только браться, в то время как база данных полностью заблокирована.
Если Вы отметите, обслуживание Eve происходит, когда это - Полдень в Англии, где первичный информационный центр.
Я реализовал архитектуру MMO в Erlang, который поддерживает горячие обновления кода и распределение. Например, один "Сервер GamePlay" может натыкаться на arbitary количество машин, если Вам нужна модернизация оборудования, его объекты могут быть переданы (в в реальном времени) к другим машинам. Это включает обновления в аппаратных средствах программного обеспечения без любого времени простоя.
Можно проверить мой сайт по http://www.next-gen.cc.
Я ведусь полагать, что окно обслуживания также позволяет, чтобы стандартная замена оборудования гарантировала, чтобы компоненты не перестали работать.