선택 사이 있습니다.NET 서비스 버스 큐 대 Azure 큐 서비스[마감]
-
19-09-2019 - |
문제
그냥 빠른 질문에 대한 Azure 응용 프로그램.가 있는 경우 다수의 웹사 및 작업자 역할을 서로 통신하는 데 필요 문서를 말한 사용할 큐 서비스입니다.
그러나 나는 그냥 읽는 새로운.NET 서비스 버스도 제공합 큐입니다.이러한 보다 더 강력한 표시를 제공하는 훨씬 더 자세한 API 를 사용합니다.하는 동안.NSB 보기 더 재미있는 그것의 몇 가지 문제들에게 나의 경계에서 그것을 사용하여 배포 응용 프로그램.(예를 들어,큐 만료...할 수 없는 경우에는 보장하는 큐를 새롭게 될 것입니다 시간에 저는 그것을 잃을지도 모른다!).
은 어떤 경험 중 하나를 사용하여 이러한 두 가지 기술을 줄 수 있는 모든에 대한 조언을 할 때 하나를 선택합니다.
내가 의심되는 동안 서비스 버스 보기,더 강력한 나의 사용 사례는 정말 그냥 사 웹사/작업자 역할을 서로간에 통신,Azure 큐 서비스가 무엇이 난다.하지만 난 그냥 정말고 확인하기 전에 progamming 에서 자신을 구석:-)
미리 감사드립니다.
업데이트
을 읽어야에 대해 두 시스템을 통해 휴식입니다.그것은 배 것 같습니다.NET 서비스의 버스가 더 구체적으로 설계에 대한 시스템 통합보다 제공하는 일반적인 목적은 믿을 수 있는 메시지 시스템입니다.Azure 큐로 배포되고 신뢰할 수 있으며 확장 가능한 방법으로는.NSB 큐가하지 않고 그래서 더 많은 적합한 코드를 호스팅 Azure 내에 자체입니다.
감사에 대한 응답합니다.
해결책
웹과 작업자 역할 사이를 통신하기 위해 Azure 대기열을 고수하는 것이 좋습니다. 대기열을 사용하는 것은 Azure 프로세스 사이의 공식적이고 제재 된 의사 소통 방법이며, 당신이 자신을 모퉁이로 프로그램 할 것이라는 것을 진심으로 의심합니다. Service Bus (AppFabric)는 오버 헤드가 높으며 외부 앱과 대화하는 데 실제로 좋지만 Azure 앱 내에서 빠르고 간단한 메시지에 적합하지 않을 수 있습니다.
다른 팁
저장소 큐 vs 버스 서비스
여기에서의 고장이 일부 다른 고려 사항에 있었던 생각을 통해 이 질문입니다.
가용성
이후로 저장소 중단 마지막 월 Azure 약속은 그들이 배포하지 않을 것입 코드가 모든 지역에서 다시 한번-내장 시스템에게 불가능합니다. https://azure.microsoft.com/en-us/blog/final-root-cause-analysis-and-improvement-areas-nov-18-azure-storage-service-interruption/
여기에 무엇 msdn 에 대한 말씀용:
이미 사용하고 있는 경우에는 Azure 저장소 Blob 또는 테이블을 사용하기 시작 큐로,당신은 99.9%의 가용성이 보장됩니다.당신이 사용하는 경우 Blob 또는 테이블과 서비스 버스 큐,당신은 가용성이 더 낮아집니다.
Azure 큐를 지원하도록 설계되었습니다 분리하의 응용 프로그램 구성 요소가 증가하는 확장성과 관용에 대한 실패입니다.
개발
개인적으로,나는 저장 Api 및 이미에 대한 필요 blob 저장소의 다른 지역에서 가장 앱입니다.저장소 큐를 사용하여 매우 동일한 sdk 으로 저장소에 해당합니다.Azure 큐를 제공합 균일하고 일관적인 프로그래밍 모델을 통해 큐,테이블,Blob
비용
Receive 및 삭제를 모드 지원하는 버스 서비스 제공을 감소시키는 능력을 메시징 작업 수(및 관련 비용)에서 교환에 대한 인하 배달을 보증합니다.
그와 같은 일부러한 비용 통제를 위한 서비스는 버스를 활용할 수 있는 경우에 당신은 시작했고 예산을 유지하는 것을 실행하는 응용 프로그램-았다 하는 시도에서 나누는 잠재적 저장소 큐 비용을 아래).그것을보다 백 달러에 달보다 더 많은 40,000 큐 시간 GRS.그룹의 나머지 부분에 우리의 저장소 비용이 보이지 않게 이득에 초점을 맞추고 비용을 절감 여기에.(대역폭에 대해 동일한 모두 취소합체를 비교할 때)
저장소 가격
당신이 얻을 무료로 큐 및 운영-당신이 지불을 위해 공간
- 가정 30K 메시지 크기로 평균
- 가정 1000K 에 MB 지 1024
- 다고 가정하지 않는다는 것을 졸업하는 가격은 위의 1TB
30K/1 메시지*1TB/1000000000K*$.095/1GB*1000GB/1TB=$0.00000285/메시지에 대한 첫 번째 결핵의 사용
1 메시지/~30K*1000000000K/1TB=33333333 메시지에 TB
33333333 메시지*$0.00000285/메=~$95 달러한 첫 번째 TB
확산을 통해 한 달에 우리가 할 수 있는 다음과 같 40,000 메시지는 시간으로는 1TB
서비스 버스 가격
- 10 달러 month 가격
- 당 지불 작업(api 호출은 op)-추가 큐/receive 큐/큐를 모니터링합니다.
- 당신이 얻을 12.5 만이 무료 ops/month
- 지불당 백만 작전은 후 즉
을 추정하기는 어렵용 그러나 100 만 운영 비용을 80 달러를 달
배치 수신
저장할 수 있는 배치하여 최대 32 개의 메시지를 지정하여 메시지가 횟수를 검색할 때는 동안 메시지 서비스 버스를 사용하는 큐 클라이언트를 배치에 여러 메시지로 보내는 작업입니다.
그래서 저장되는 배치를 받는 동안 버스 서비스는 일괄 보낼 수 있습니다.
모니터링
Azure 큐을 얻을 수 있도록에 대한 자세한 로그의 실행된 모든 트랜잭션에 대한 큐뿐만 아니라,집계된줍니다.이 종류의 지원이 나오지 않는 상자의 버스 서비스-지만 아마 미리 작성된 솔루션이 어딘가에.
송
서비스 버스가 자동 전달하는 기능을 저장소 큐가 없습니다.
자동 전달의 수천 수 있도록 큐에 대하여 자동으로 메시지의 단일,큐에서 받은 응용 프로그램에서 사용하는 메시지입니다.이 메커니즘을 사용할 수 있습을 달성하는 안전,제어,흐름과 분리 저장이 각각의 메시지 발행인이다.
중복
중복 감지 기능을 지원하는 서비스 버스 큐 자동으로 제거합 복제 큐로 전송된 메시지 또는 항목의 값에 따라 id 를 제공합니다.
저장소 큐 메시지를 복제할 수 없는 경고입니다.
메타데이터
서비스 버스의 제 2 부속의 메시지 헤더+체.이것은 매우 유용한 기능에 대한 전 세계적으로 배치된 인프라가 있습니다.시키는 당신이 장식과 메시지는 것과 같은 지역의 이름 및 인스턴스 id.에 대해 책임지지 않은 간단한 문자열입니다.다른 한편으로 Azure 저장소 큐에 대한 지원을 제공할 수 있는 임의 특성에 적용하는 큐를 설명,형식의 이름/값 쌍으로 이루어져 있습니다.그렇게 장식할 수 있습니다 메시지 서비스에서 버스 장식으로 큐 큐 스토리지
배달을 보장
서비스 버스를 제공합에서 가장 한 번에 적어도 한 번하는 동안 큐만 제공에는 적어도 한 번 배달합니다.이 제한될 수 있습니다 우리의 능력이 큐를 사용하는 경우에 동시 가입자는 문제입니다.
성능
Azure 저장소 큐 제공 10ms 대기 시간(데이터 센터 내)는 동안 버스 서비스 20-25ms 대기 시간이 길어집니다.서비스 버스를 제공하지 않 장 투표하는 것보다 더 나은 10ms 이 있는 경우에 필요한다.
보안
저장소 큐를 사용하여 주/보조 shared key 일 동안 서비스 버스를 제공합 RBAC 을 통해 활성 디렉토리로 보낸 사람/수신자/관리자 역할을 합니다.
references
내가 이해 한 바와 같이, 서비스 버스는 한동안 대기열을 가지고 있었지만, 이것들은 메시지를 전달하는 것이 보장되지 않습니다 -Bon Chance!
Azure는 단순한 REST 기반 GET/PIT/PEEK 인터페이스로 유스 케이스가 기본적으로 유지되므로 일치하는 이음새를 일치시킵니다.
문서는 최근에 업데이트되었으며 (05/21/2015), 하나 또는 다른 하나를 사용할 때 정확하게 자세히 설명하고 공통 기능 (트랜잭션 지원, 대기열 및 메시지의 크기, 라이브 시간, ...)을 정확하게 자세히 설명합니다.
개발자가 배우는 대기열 관련 패턴은 두 가지 모두에 적용 할 수 있습니다. 둘 다 신뢰성과 구현의 관점에서 사용할 수 있습니다.
스토리지 대기열 만 수행 할 수있는 일 1) 메시지 충돌을 처리하는 작업자. 후속 노동자가 원합니다 메시지의 상태를 읽으십시오 이전 작업자가 중단 된 곳에서 계속합니다. 2) 큐에 대해 실행 된 모든 트랜잭션의 서버 측 로그가 필요합니다.
그러나 비교는 중요하지 않습니다. 만약에 맞춤형 대기열 개발 그런 다음 항상 저장 대기열을 사용하는 것입니다. Microsoft가 처음 개발 한 것은 처음이었습니다. 서비스 버스는 Biztalk 복사를 가져 왔으며 목적은 통합 (하이브리드) 이므로이 라인에는 세션, 거래, 자동 데드 레터 등의 고급 기능이 있습니다.
하는 일을 매우 명확하고,이 비교 두 Azure 구성 요소에서 만든 다른 시점에서,다른 이유입니다.
Azure 지원합 두 가지 유형의 큐 메커니즘:저장소 큐와 버스 서비스 큐입니다.
스토리지 큐,일부 의 Azure 저장소 인프라 기능 간단한 휴식 기반을 얻을 넣어//임 인터페이스 제공 안정적이고 지속적인 메시지 간 내에서 서비스입니다.
서비스 버스 큐의 일부는 광범위한 Azure 메시징 인프라를 지원하는 큐뿐만 아니라 발행/구독 더 진보된 통합 패턴이 있습니다.에 대한 자세한 내용은 서비스 버스 큐/주제/구독 개요를 참조하십시오 서비스의 버스입니다.
모두 큐 기술 존재하는 동시에,저장소 큐 먼저 소개되었으로 큐의 저장 메커니즘에 건설 최고의 Azure 소 서비스를 제공해드립니다.서비스 버스 큐의 상단에 내장 광범위한 메시지 인프라를 통합하도록 디자인 응용 프로그램 또는 응용 프로그램 구성요소는 여러 통신 프로토콜,데이터를 계약서,신뢰 도메인 및/또는 네트워크 환경입니다.