2011-02-10 2 views
0

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

ответ

1

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

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

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

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

Смежные вопросы