Ну если когда нибудь изучали архитектуру процессоров там, есть кэш память. Проблемы типа: достоверность информации, оперативное сохранение, оперативный доступ и тп и тд.
По такому принципу организовывается cached.
Оперативное хранилище. На PTS приложения распределенные.
Код HTML:
SQL <-> CACHED <-> SERVER
NPC
У себя, я организовал как подпрограмму, sql <-> SqlWorker[TH1] <-> World
Делает snapshot и в потоке все их подгружает в базу.
Потеря подключения с базой, в файл,при восстановлении/запуске поток файла на сервер.
+ Быстрое сохранение в параллельном доступе
+ Быстрое освобождения без ожидания успешного завершения
+ Устойчиво к сбоем
- Достоверность в бд( ну не такой чтобы минус)
приходится организовывать кэш сервер,чтобы узнавать статистику в реальном времени и делать изменения.
Если подумаю найду еще море минусов, но по времени себя оправдывает в данной реализации, сейчас мучаю распределенные системы.
MPI & RMI чтобы можно было дубликат программы запускать на другом сервере и они распределяли нагрузку.
Еще у меня авторизация проходит через кэш.
Могу статью написать, если кому интересно.