Фильтр Исапи - состояние - PullRequest
0 голосов
/ 10 февраля 2011

У меня есть isapi filer, и я хочу добавить логику, основанную на входящем домене (моя ферма серверов содержит много доменов). Там список доменов является динамическим, я могу экспортировать этот список доменов в текстовый файл и прочитать его из isapi, но есть ли способ сохранить этот файл в памяти (массив или связанный список), чтобы сохранить вызов ввода-вывода. аналогично глобальному состоянию приложения.

1 Ответ

1 голос
/ 18 февраля 2011

Как ваши рабочие процессы распределены по вашим серверам?У вас есть один сервер с одним рабочим процессом или несколько серверов?

  • Если у вас один сервер с одним рабочим процессом, вы можете просто прочитать файл в статический массив или строку для управленияэто (просто убедитесь, что вы учитываете одновременные потоки, читающие / изменяющие его одновременно)

  • Если у вас есть несколько рабочих процессов на одном сервере, вы можете использовать именованную общую память.Я использовал это раньше в фильтрах ISAPI для обмена информацией, и это работает довольно хорошо.Это должно даже позаботиться о параллелизме для вас.Вы можете прочитать больше здесь: http://msdn.microsoft.com/en-us/library/aa366551%28v=vs.85%29.aspx

  • Если вы распределены по нескольким серверам, вы можете использовать распределенный кеш, такой как memcached.Это сложнее в настройке, но это даст вам хорошую производительность.Здесь есть нить по настройке: API C ++ для memcache

...