2011-12-29 23 views
15

RavenDB'yi büyük olasılıkla bir HTML kullanıcı arabirimi, bir WebService UI'si ve verilere erişecek sunucu yardımcı programlarına sahip bir uygulama için veri deposu olarak kullanma fikrindeyim. RavenDB'yi kullanmanın bir nedeni, çoğaltma ve paylaşma yoluyla sunduğu yatay ölçeklemedir. Bununla birlikte, Raven'ı bir windows servisi olarak çalıştırmak veya IIS üzerinden çalıştırmak konusunda birkaç şey var gibi görünüyor.RavenDB'yi windows servisi veya IIS üzerinden mi çalıştırmalıyım?

  • Güvenlik - Raven hizmeti daha güvenli midir yoksa IIS bana vb IP adresi, .NET Üyeliği, tarafından kısıtlamak için daha fazla esneklik sağlayacak kullanarak olacaktır
  • Caching - IIS bu özellik için daha iyi bir seçim gibi görünüyor
  • Mimari - Üçüncü tarafın veri deposuna erişmesini istemediğimden, Raven'ı IIS aracılığıyla açığa çıkarmak gerçekten mantıklı olurdu. Ayrıca, Raven ile çeşitli UI'ler ve yardımcı programlar arasında bir iş tabakası olurdu, bu yüzden IIS'yi kullanmak gereksiz görünüyor ve gereksiz karmaşıklığı beraberinde getirebilir.
  • Performans - IIS boru hattı muhtemelen bir windows hizmeti daha her istek üzerine daha yüke sahiptir
  • Ölçekleme - IIS kullanarak sadece küçük toplu dosya
  • ile Raven hizmetini yüklemeden aksine birden fazla sunucu üzerinde dışarı ölçekli muhtemelen daha karmaşıktır

EDITED

Elinizde tek bir web istemcisi ama birkaç farklı istemciler varken, Raven'ın API fro tek müşteri önlemek için bağımsız maruz gerekiyorsa Raven'ın Gömülü yapılandırmayı kullanarak anlayabilir

Veri dosyalarını kilitleme.

cevap

16

Jedatu, Genellikle IIS içindeki RavenDB ev sahipliği , bu özellikle bazı şeyler daha kolay hale getirir, sunucunun yönetimi kolaydır fark ve IIS, ince taneli yönetim için daha güzel seçenekler sunar.

+0

Yanıtınız için teşekkür ederiz. –

5

Güvenlik - Raven hizmeti daha güvenli midir yoksa kullanarak IIS bana daha esneklik ayrı süreç daha güvenlidir kullanma vb

IP adresi, .NET Üyeliği ile kısıtlamak sağlayacaktır.

Caching - IIS bu özellik

DB önbelleğe (önbelleğe alma varlık belgeleri) için daha iyi bir seçim IIS önbelleğe aynı değil mi gibi görünüyor

(oluşturulan sayfaları veya sayfa bölümlerini önbelleğe olan)

Mimari - Üçüncü tarafın veri deposuna erişmesini istemediğimden, Raven'ı IIS aracılığıyla açığa çıkarmak gerçekten mantıklı olurdu. Ayrıca, Raven ile çeşitli UI'ler ve yardımcı programlar arasında bir iş tabakası olurdu, bu yüzden IIS'yi kullanmak gereksiz görünüyor ve gereksiz karmaşıklığı beraberinde getirebilir.

Veri klasörüne erişen herkes kuzgunla açılabilir. Windows güvenlik özelliklerini kullanarak korumadığınız sürece nerede konum önemli değil.

Performans - IIS muhtemelen

soğuk bir başlangıçtan bahsediyorsun pencereler hizmetlerinden daha büyük yüke sahiptir? Gömülü Raven'i kullanmak, istemci ve sunucu arasındaki HTTP isteklerini kaldırır.

Ölçekleme - Kullanarak IIS sadece küçük toplu dosya ile

Çoklu sunucularını Raven hizmetini yüklemeden karşı tüm IIS o ayrı Raven örneğini ihtiyacı gibi birden çok sunucu arasında dışarı ölçekli muhtemelen daha karmaşıktır: ile konuşabilirler. IIS Biz herhangi bir anlamlı perf görmedim vb tüm aktivasyon bakımı sırasında

+0

Bu yararlı bilgiler, ancak bu senaryo için hangi seçeneği öneriyorsunuz? – jedatu

+0

Sadece senin düşüncelerin gerçekten geçerli olmadığını söylüyorum. Yapabilseydim bir servise giderdim. Daha sağlam ve daha iyi ölçekler gibi görünüyor. Kendine ait bir belleğe sahip olmak da yardımcı oluyor, IIS uygulama havuzu bunu f * ck yapamıyor. – jgauffin

+0

Ayende, RavenDb ile ilgili olarak IIS sunucusu> windows hizmetini her zaman söyledi. –

İlgili konular