Архитектура Darkstar

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

Структурирование системы в виде взаимосвязанного набора служб – очевидное начало процесса «разделяй и властвуй», играющего важную роль в архитектуре любой крупной компьютерной системы. Каждая служба характеризуется интерфейсом, который защищает пользователей службы от изменений реализации и позволяет изменять реализации независимо друг от друга. Изменения в реализации одной службы не должны влиять на реализацию другой, даже если последняя использует изменяемую реализацию (предполагается, что интерфейс и его семантика остаются неизменными).

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

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

Related posts:

  1. Общая модель программирования Darkstar
  2. Разработка архитектуры проекта Darkstar

Подпишитесь на рассылку по почте:

Введите свой адрес почты, чтобы получать уведомления о новых статьях.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>