jed*_*atu 15 architecture ravendb
我正在使用RavenDB作为应用程序的数据存储的想法,该应用程序很可能具有HTML UI,WebService UI和将访问数据的服务器实用程序.使用RavenDB的一个原因是它通过复制和分片提供的水平扩展.但是,似乎有几个关于将Raven作为Windows服务运行或通过IIS运行的考虑因素.
EDITED
我可以理解使用Raven的嵌入式配置,如果您拥有的只是一个Web客户端,但是当您拥有多个不同的客户端时,Raven的API需要独立公开以防止单个客户端锁定数据文件.
Aye*_*ien 16
Jedatu,我们通常在IIS中托管RavenDB,它使一些事情变得更容易,特别是当IIS处理所有激活等时,服务器的管理更容易.我们没有看到任何有意义的性能差异,并且IIS有更好的细粒度管理的选择.
安全性 - Raven服务更安全或使用IIS允许我更灵活地通过IP地址,.NET成员资格等进行限制.
使用单独的流程更安全.
缓存 - 似乎IIS是此功能的更好选择
数据库缓存(缓存实体文档)与IIS缓存(缓存生成的页面或部分页面)不同
架构 - 由于我不希望任何第三方访问数据存储,因此通过IIS公开Raven真的很有意义.此外,Raven与各种UI和实用程序之间会有一个业务层,因此涉及IIS似乎是不必要的,可能会引入不必要的复杂性.
访问Data文件夹的任何人都可以使用raven打开它.除非您使用Windows安全功能保护它,否则无论它位于何处.
性能 - IIS可能比Windows服务有更多的开销
你是指冷启动?使用嵌入式Raven会删除客户端和服务器之间的HTTP请求.
扩展 - 使用IIS可能更难以跨多个服务器扩展,而不是仅使用小批量文件安装Raven服务
多个服务器需要一个单独的Raven实例,所有IIS都可以与之通信.
| 归档时间: |
|
| 查看次数: |
2247 次 |
| 最近记录: |