现在的位置: 首页 > 综合 > 正文

NServiceBus翻译之持久化技术(二):Using RavenDB In NServiceBus – Installing

2019年10月15日 ⁄ 综合 ⁄ 共 1948字 ⁄ 字号 评论关闭

Last Updated: Apr 04, 2013 12:38PM IDT

NServiceBus中默认的持久化技术是RavenDB3.0,NServiceBus授权许可RavenDB用于你的终结点的存储,不过仅限于NServiceBus相关的数据,比如saga,subscription等,假如你想要存储应用程序相关的数据在RavenDB中,那么你需要购买一个单独的授权。

假如你计划使用默认的存储,那么你需要确保你的终结点上有可以连接的RavenDB在运行,有两种方式可以达到这个目的。

1.      Download and installRavenDB your self

2.      LetNServiceBus do it for you

 假如你已经在用RavenDB,或者你有其他的特定的需求,那么你就采用方式1.

#2 Auto installation by NServiceBus ofRavenDB

RavenDB已经被包含在NServiceBus binaries中了,NServiceBus有一个基础设施安装器 installers ,如果你激活这个安装器,那么它可以确保RavenDB被安装在本地机器上。

仅当下列要求符合,那么你的安装才是有效的:

1.      Ravenpersistence is configured for the endpoint

2.      A customconnection string is not specified by the user

3.      The currentendpoint has no master node specified

4.      Port 8080 isavailable

5.      Raven is notalready installed

6.      The installis done using the explicit /installInfrastructure

#3 对于第三点解释如下: 如果有master节点被定义,那就是在告诉NServiceBus所有的数据都存储在server端。 这就意味着我们期望RavenDB服务器运行在远端机器上,而不是本地机器(你运行这个installer的机器)上。

备注:意思就是如果你配置了master节点,那么你也就没必要安装RavenDB了,这是我(译者)的理解。

(2013-8-21补充,我之前的一个AsA_Server/Client终结点运行在客户端,启动的时候老是报RavenDB连接的错误,然后我就想,TM这个终结点是运行的客户端的,我不能让每个客户都去装RavenDB吧,就算有信息要存也要存在服务器端吧,然后就想解决这个问题,我的运行在客户端的终结点程序本身也不需要使用RavenDB。 后来我发现启动参数里面竟然填了NServiceBus.Master,然后我将它去掉,就好了!!!!)

(如果还是不行,就再配置文件中配置MasterConfig,设置master节点为服务器上运行的终结点的地址,当然这个服务器中还是必须要安装RavenDB)

对于如何管理和操作RavenDB服务器的指令,请参考RavenDB的文档: http://ravendb.net/docs/server/administration

Upgrading RavenDB

如果要升级RavenDB,那么你需要做以下步骤:

1.      Back up yourRaven database

2.      Shut down theRavenDB service

3.      Replace thebinaries with the ones in the /Server folder in the download

4.      Make sure tonot replace the Raven.Server.exe.config if you have modified it

5.      Restart theRavenDB service

 

Which versions of RavenDB is compatible

NServiceBus 3.X is tested and compatiblewith all RavenDB from version 616 up to 992.  It has also been testedagainst RavenDB v2, so it is also a supported setup.  We stronglyrecommend that you run your NServiceBus endpoints against 992 since
it hasbetter support for transaction recovery.  This versioncan be downloaded here:

RavenDBServer - 992

 

抱歉!评论已关闭.