|
Репликация между серверами приложений
|
|||
---|---|---|---|
#18+
Доброго времени суток Значит, разрабатываю потихоньку сервер приложений и вот возник вопрос о репликации между 2..N серверами. По этой теме имеются устоявшиеся подходы, шаблоны и т.д.? На всякий случай небольшое пояснение: 1) В процессе обработки запроса участвуют обработчики "До", потом, собственно, обработчик запроса, после него - обработчики "После". В целом получается конвейер. Обработчики настраиваемые. 2) В результате обработки запроса возможны следующие изменения состояния сервера: - создаются/изменяются/удаляются записи в целевой БД (с которой связан основной обработчик запроса) - создаются/изменяются/удаляются записи в различных списках/массивах в оперативной памяти (например, добавляется запись о том, что пользователь Х имеет право выполнять операцию Y с параметром Z) Сначала думал настроить репликацию на уровне БД, а резервные сервера приложений запускать в случае смерти основного, но не вышло. Имеется потребность выполнять запросы типа CRUD и параллельно - различного рода сложные выборки данных, которые существенно воздействуют на производительность сервера БД. Решение, которое покамест выглядит очевидным - для каждого запроса хранить перечень команд по изменению БД, файлов, объектов в памяти и т.д. и вот этот перечень команд с аргументами, равными результатам выполнения запроса на исходном сервере, пересылать другим серверам в группе. Однако почти наверняка существует масса подводных камней, да и не хотелось бы изобретать велосипед. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 18:15 |
|
Репликация между серверами приложений
|
|||
---|---|---|---|
#18+
JohnSparrowсоздаются/изменяются/удаляются записи в различных списках/массивах в оперативной памяти Перекидывайте данные из оперативки в распределенный кэш (memcached, AppFabric Caching Services, etc) и будет вам счастье. Проблем с СУБД честно говоря не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 18:32 |
|
|
start [/forum/topic.php?fid=20&msg=38127800&tid=1405274]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 162ms |
0 / 0 |