Принципы и свойства структуры Archives

Параллелизм и задержка

Отсутствие информации о том, что необходимо для приемлемой производительности сервера, вызывало особенную озабоченность у группы Darkstar, потому что некоторые из принимаемых нами решений противоречили традиционным воззрениям относительно тог...

 

Размышления об архитектуре

Вероятно, первый вопрос, который вы зададите об архитектуре и ее реализации, - насколько эффективно она работает? Хотя преждевременная оптимизация архитектур порождает множество грехов, ничто не мешает спроектировать архитектуру, которая в лю...

 

Механизм

Механизм, используемый нами для масштабирования, также обеспечивает высокую степень отказоустойчивости в системе. Учитывая машинно-независимую природу данных, используемых задачами и коммуникационными механизмами, становится ясно, что зада...

 

Отслеживание нагрузки

Отслеживание нагрузки на отдельных компьютерах и ее перераспределение в случае необходимости является задачей метаслужб. Это службы сетевого уровня, которые остаются невидимыми для программиста игры или виртуального мира; с другой стороны, ...

 

Портируемость задач

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

 

Вторая коммуникационная служба

Вторая коммуникационная служба, всегда присутствующая в стеке Darkstar, - служба каналов. Каналы относятся к типу коммуникаций «один ко многим». На концептуальном уровне к каналу может присоединиться любое количество клиентов, а любое передаваемо...

 

Коммуникационные службы

Первая из этих служб - служба сеансов - выполняет функции посредника между клиентом и сервером игры/виртуального мира. При входе и прохождении аутентификации между клиентом и сервером создается сеанс. Серверы получают сообщения, отправляемые ...

 

Риск конфликтов доступа к данным

Такое параллельное выполнение создает риск конфликтов доступа к данным. Для предотвращения упомянутых конфликтов служба задач должна взаимодействовать со службой данных. Во внутренней реализации незаметно для программиста серверной части ...

 

Служба стекового уровня

Вторая служба стекового уровня — служба задач — используется для планирования и выполнения задач, сгенерированных либо в ответ на событие, полученное от клиентов, либо внутренней логикой сервера игры или мира. Большинство задач относится к к...

 

Основные службы

Важнейшей из служб уровня стека является служба данных, которая используется для хранения, выборки и обработки всех долгосрочных данных игры или виртуального мира. Термин «долгосрочность» здесь понимается шире, чем в других системах. В играх ...