Принципы и свойства структуры Archives
Параллелизм и задержка
Отсутствие информации о том, что необходимо для приемлемой производительности сервера, вызывало особенную озабоченность у группы Darkstar, потому что некоторые из принимаемых нами решений противоречили традиционным воззрениям относительно тог...
Размышления об архитектуре
Вероятно, первый вопрос, который вы зададите об архитектуре и ее реализации, - насколько эффективно она работает? Хотя преждевременная оптимизация архитектур порождает множество грехов, ничто не мешает спроектировать архитектуру, которая в лю...
Механизм
Механизм, используемый нами для масштабирования, также обеспечивает высокую степень отказоустойчивости в системе. Учитывая машинно-независимую природу данных, используемых задачами и коммуникационными механизмами, становится ясно, что зада...
Отслеживание нагрузки
Отслеживание нагрузки на отдельных компьютерах и ее перераспределение в случае необходимости является задачей метаслужб. Это службы сетевого уровня, которые остаются невидимыми для программиста игры или виртуального мира; с другой стороны, ...
Портируемость задач
Чтобы распределение нагрузки стало возможным при выбранной нами программной модели и используемых основных службах стека, задачи, выполняемые в ответ на сгенерированные клиентом или игрой события должны быть совместимы между всеми машинами,...
Вторая коммуникационная служба
Вторая коммуникационная служба, всегда присутствующая в стеке Darkstar, - служба каналов. Каналы относятся к типу коммуникаций «один ко многим». На концептуальном уровне к каналу может присоединиться любое количество клиентов, а любое передаваемо...
Коммуникационные службы
Первая из этих служб - служба сеансов - выполняет функции посредника между клиентом и сервером игры/виртуального мира. При входе и прохождении аутентификации между клиентом и сервером создается сеанс. Серверы получают сообщения, отправляемые ...
Риск конфликтов доступа к данным
Такое параллельное выполнение создает риск конфликтов доступа к данным. Для предотвращения упомянутых конфликтов служба задач должна взаимодействовать со службой данных. Во внутренней реализации незаметно для программиста серверной части ...
Служба стекового уровня
Вторая служба стекового уровня — служба задач — используется для планирования и выполнения задач, сгенерированных либо в ответ на событие, полученное от клиентов, либо внутренней логикой сервера игры или мира. Большинство задач относится к к...
Основные службы
Важнейшей из служб уровня стека является служба данных, которая используется для хранения, выборки и обработки всех долгосрочных данных игры или виртуального мира. Термин «долгосрочность» здесь понимается шире, чем в других системах. В играх ...