Я играю с идеей использования RavenDB в качестве хранилища данных для приложения, которое, скорее всего, будет иметь пользовательский интерфейс HTML, пользовательский интерфейс WebService и серверные утилиты, которые также будут получать доступ к данным.Одной из причин использования RavenDB является горизонтальное масштабирование, которое оно предлагает посредством репликации и шардинга.Тем не менее, похоже, что существует несколько соображений относительно запуска Raven в качестве службы Windows или его запуска через IIS.
- Безопасность - является ли служба Raven более безопасной или будет ли использование IIS более гибким, чтобыIP-адрес, членство в .NET и т. Д.
- Кэширование. Похоже, что IIS является лучшим выбором для этой функции.
- Архитектура - поскольку я не хотел бы, чтобы какая-либо третья сторона получала доступ к хранилищу данных,действительно имеет смысл выставлять Raven через IIS.Кроме того, существует бизнес-уровень между Raven и различными пользовательскими интерфейсами и утилитами, поэтому использование IIS кажется ненужным и может привести к ненужной сложности.
- Производительность. У конвейера IIS, вероятно, больше накладных расходов на каждый запрос, чем у службы Windows.
- Масштабирование - использование IIS, вероятно, сложнее масштабировать на нескольких серверах, чем просто установить службу Raven с небольшим пакетным файлом
EDITED
Я могу понять использование встроенной конфигурации Raven, если все, что у вас есть, это один веб-клиент, но когда у вас несколько разных клиентов, API-интерфейс Raven должен быть открыт независимо, чтобы один клиент не блокировал файлы данных.