2012-04-29 5 views
2

우리는 NServicebus를 사용하는 온 프레미스 웹 앱을 보유하고 있으며 큐를 전체적으로 클라우드 기반의 대규모 마이그레이션 경로의 일부로 푸른 색으로 이동하려고합니다. 나는 POC를 작동 시키려고 노력하고 있지만 작동시키지 못하고있다.


로컬 NServiceBus Azure 큐에 게시

나는 다음과 같은 구성이 있습니다 내 응용 프로그램에서

<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821" /> 
    <section name="AzureQueueConfig" type="NServiceBus.Config.AzureQueueConfig, NServiceBus.Azure"/> 
    <section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core"/> 
    <section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core"/> 
</configSections> 

<MessageForwardingInCaseOfFaultConfig ErrorQueue="error" /> 
<AzureQueueConfig QueueName="timeoutmanager" 
       ConnectionString="DefaultEndpointsProtocol=https;AccountName=<My storage account>;AccountKey=<My primary access key>"/> 

<UnicastBusConfig TimeoutManagerAddress="timeoutmanager"> 
<MessageEndpointMappings> 
    <add Messages="TechFu.Services.Bus.Messages.Publishing.CMS.SitePagePublishMessage, TechFu.Services.Bus.Messages" Endpoint="sitepagepublish" /> 
</MessageEndpointMappings> 


내가 버스가 구성이를 같은 :

Configure.WithWeb() 
.StructureMapBuilder() 
.InMemorySubscriptionStorage() 
     .AzureMessageQueue() 
     .JsonSerializer() 
.UnicastBus() 
     .LoadMessageHandlers() 
       .IsTransactional(true) 
.CreateBus() 
     .Start(); 

The destination queue '[email protected] DefaultEndpointsProtocol=https;AccountName=&lt;My storage account&gt;;AccountKey=&lt;My primary access key&gt;’ could not be found. You may have misconfigured the destination for this kind of message (TechFu.Services.Bus.Messages.Publishing.CMS.SitePagePublishMessage) in the MessageEndpointMappings of the UnicastBusConfig section in your configuration file. It may also be the case that the given queue just hasn't been created yet, or has been deleted. 



나는 손실의 비트에있어

, 나는했습니다 :


내가 큐에 게시하려고, 다음과 같은 메시지가 뜹니다 내가 웹에서 찾은 몇 가지 다른 샘플을 시도했지만, 나는 푸른 지식의 부족이 그 길을 걷고 있다고 느낍니다. 이 질문에서 설정의 대부분을 가져 왔습니다. nservicebus on-premise host using azure Queue 내가 놓친 일부 마법이 있습니까?

답변

2

대상 큐가 있습니까? NServiceBus는 기본적으로 원본 큐만 생성하므로 대상이 존재하지 않으면 생성하지 않습니다.

+0

예, 그것은 저에게 다소 바보입니다. 친구가 저에게 Azure Storage Explorer http : //azurestorageexplorer.codeplex를 보여주었습니다.co.kr/내가 그에게 당신의 의견을 보여준 후에 모든 것이 합리적이었습니다. 하늘색 관리 패널이 얼마나 끔찍하고도 직관적이지 않은 인터페이스입니까? FTP는 더 친숙 할 것입니다 ... – jcavaliere

+1

예, 계정 관리를위한 도구가 필요합니다. 서비스 버스 대기열의 경우 조금 더 좋습니다. 포털에서 해당 대기열을 만들 수 있지만 (내부에서 볼 수는 없습니다) –

0

구성 파일에서 MsmqTransportConfig에 대한 참조를 제거 할 수 있습니까? (Azure 대기열을 사용할 때 실제로 MSMQ 전송을 대체하고 있습니다)

+0

차이점이 없지만 MsmqTransportConfig 대신 MessageForwardingInCaseOfFaultConfig를 사용하여 질문을 업데이트합니다. – jcavaliere

0

NServiceBus에 익숙하지 않습니다. 그러나 Windows Azure에는 내장 된 서비스 버스가 있으며 자연스럽게 대기열과 통합 될 수 있습니다. 자습서는 http://msdn.microsoft.com/en-us/WAZPlatformTrainingCourse_ServiceBusMessaging을 참조하십시오.

최고 감사합니다,

명나라 쑤.

+0

앞으로이 경로를 사용할 수는 있지만 온 프레미스 NSB 버스를 사용하는 전체 인프라가 있으므로 이 시간. – jcavaliere

+1

그냥 참고로 ... NServiceBus는 Azure 스토리지 대기열 지원과 서비스 버스 대기열 지원을 함께 제공합니다. –

+0

서비스 버스 대기열을 사용하게되어 기쁩니다. 난 그냥 코드 샘플이나 문서를 처리하는 방법에 표시되지 않습니다. 내가 누락 된 좋은 참고가 있는가? 현장에서 NSB 프로세스를 진행하고 싶습니다. 모든 샘플이 작업자 프로세스에 맞춰져있는 것처럼 보입니다. – jcavaliere

2

두 호스트간에 구독 메시지를 교환 할 수 없기 때문에이 방법이 작동하지 않을 것이라고 생각합니다.

더 나은 사용 다른 사이트에서 메시지를 배포하는 NServiceBus의 게이트웨이 개념.

관련 문제