Отслеживание нагрузки на отдельных компьютерах и ее перераспределение в случае необходимости является задачей метаслужб. Это службы сетевого уровня, которые остаются невидимыми для программиста игры или виртуального мира; с другой стороны, они видны для служб стека Darkstar (и сами могут наблюдать за ними). Например, метаслужбы следят за тем, какие компьютеры работают в текущий момент (и не произошли ли на этих компьютерах сбои), какие пользователи связаны с задачами конкретного компьютера, а также отслеживают текущую нагрузку на разные машины. Поскольку метаслужбы невидимы для программиста игры или виртуального мира, их можно в любой момент изменить без последствий для правильности игровой логики. Это позволяет нам экспериментировать с разными стратегиями динамического распределения нагрузки в системе, а также расширять набор метаслужб, необходимых для инфраструктуры.
Related posts: