Estoy jugando con la idea de utilizar RavenDB como el almacén de datos para una aplicación que muy probablemente tendrá una interfaz de usuario HTML, una interfaz de usuario de servicio web y utilidades de servidor que también accederán a los datos. Una razón para usar RavenDB es la escala horizontal que ofrece a través de la replicación y la fragmentación. Sin embargo, parece que hay varias consideraciones sobre ejecutar Raven como un servicio de Windows o ejecutarlo a través de IIS.¿Debo ejecutar RavenDB como un servicio de Windows oa través de IIS?
- Seguridad - Es el servicio más seguro Cuervo o se utiliza IIS me permiten una mayor flexibilidad para restringir por dirección IP, .NET membresía, etc.
- Caché - Parece que IIS es la mejor opción para esta función
- Arquitectura: como no me gustaría que un tercero acceda al almacén de datos, realmente tendría sentido exponer Raven a través de IIS. Además, habría una capa de negocios entre Raven y las diversas UI y utilidades, por lo que involucrar a IIS parece innecesario y puede introducir una complejidad innecesaria.
- Rendimiento - La tubería de IIS probablemente tiene más sobrecarga en cada solicitud de un servicio de Windows
- Escalado - El uso de IIS es probablemente más complicado de escalar a través de múltiples servidores en lugar de sólo la instalación del servicio de cuervo con un pequeño archivo por lotes
EDITADO
puedo entender el uso de configuración integrada de Raven si todo lo que tiene es un solo cliente web, pero cuando se tiene varios clientes diferentes, API de Raven necesita ser expuesto de forma independiente para evitar que un solo cliente lado a otro m bloqueando los archivos de datos.
Gracias por su respuesta. –