NServiceBus翻译之持久化技术(二):Using RavenDB In NServiceBus – Installing
2013-08-18 21:27
411 查看
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
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
相关文章推荐
- NServiceBus翻译之持久化技术(三):Using RavenDB In NServiceBus – Connecting
- NServiceBus翻译之持久化技术(一):Persistence In NServiceBus
- NServiceBus翻译之持久化技术(四):How To Debug RavenDB Through Fiddler Using NServiceBus
- NServiceBus官方文档翻译(二)NServiceBus 入门
- NServiceBus VS MassTransit 从 stackoverflow.com 翻译而来,希望对这两个技术比较关心的同学有帮助
- Azure Messaging-ServiceBus Messaging消息队列技术系列1-基本概念和架构
- 翻译:Announcing Zuul: Edge Service in the Cloud
- Azure Messaging-ServiceBus Messaging消息队列技术系列4-复杂对象消息是否需要支持序列化和消息持久化
- 翻译作品一之Service Banner Fingerprinting in C
- Azure Messaging-ServiceBus Messaging消息队列技术系列4-复杂对象消息是否需要支持序列化和消息持久化
- Azure Messaging-ServiceBus Messaging消息队列技术系列5-重复消息:at-least-once at-most-once
- NServiceBus入门:启程(Introduction to NServiceBus: Getting started)
- While installing plugin in eclipse luna, “Unable to acquire PluginConverter service” and “No repository found” errors appear in logs
- NServiceBus翻译之Hosting(一):The NServiceBus Host
- Azure Messaging-ServiceBus Messaging消息队列技术系列6-消息回执
- NServiceBus入门:多个endpoint(Introduction to NServiceBus: Multiple endpoints)
- NserviceBus翻译之FAQ:MsmqTransportConfig配置项
- Azure Messaging-ServiceBus Messaging消息队列技术系列7-消息事务
- Run-time datasource selection with JCA adapters in the Oracle Service Bus 11g
- Azure Messaging-ServiceBus Messaging消息队列技术系列4-复杂对象消息是否需要支持序列化和消息持久化