Тут неожиданно ожила тема шестилетней давности. Игровой проект, в девичестве Galaxy, нынешнее кодовое название - RTGalaxy.
Форумы Balancer'а и Авиабазы. Свободное общение на всевозможные интересные темы. Военная и гражданская техника, авиация, космонавтика, компютеры и информационные технологии, Linux, люди, страны, политика, просто радости и горести жизни. У нас есть всё!
//
la2.balancer.ru
И пришла мысль, что на архитектурной начинаке RTG можно обкатать основы начинки OW.
Поэтому начинаю понемногу возиться с этим проектом, закладывая в нём функционал, который позволит его расширить до OW.
Текущее состояние архитектуры RTG такое:
Серверная часть работает на Java.
Клиентом вначале подразумевается обычный браузер, но делается закладка на использование в будущем своего клиента, буде клиентописатель найдётся.
Сервер изначально разделён на компоненты:
1. Непосредственно сервер игровой Вселенной. Вещь в себе, не имеющая прямого соединения с пользователем.
2. Сервер HTTP-соединений с пользователем. Связывает браузер игрока с сервером Вселенной.
3. В будущем возможно введение сервера соединений со специальным клиентом по внутреннему протоколу. Свяжет клиент игрока с сервером Вселенной.
Разделение серверов введено как для обкатки будущего взаимодействия серверов, разнесённых по разным машинам, так и для удобства клиентов - при технических работах на сервере Вселенной они будут получать возможность присоединиться к серверу внешних соединений и получить внятную нотификацию о процессе и просто пообщаться между собой. При работах с сервером соединений на сервере Вселенной внутренние процессы будут происходить по-прежнему, безостановочно.
Для взаимодействия серверов планируется использовать протокол
Hessian. Бинарный, высокоскоростной, стандартный с реализациями под все основные языки.
Для взаимодействия HTTP-сервера с клиентом планируется подключение Web-сервера
Jetty. Достаточно производительное и компактное решение.
В качестве базы данных игрового мира планируется задействовать
H2 Database Engine в Embedded-виде. Прямого доступа к базе снаружи, наверное, предусмотрено не будет. Только через API игрового сервера.
Пока не определился с выбором ORM. Понятно, что в голову сразу приходит Hibernate, но уж больно монстрообразен. Может быть подберу что-то попроще.
...
Вот, пока где-то так.
В связи с началом работ данный форум перевожу в открытое состояние
… чтобы понять рекурсию, нужно сперва понять рекурсию …