2009-09-29 3 views
0

웹 사이트에서 온 것은 HTTP 만 처리해야하므로 내 무지를 용서하십시오.메시징을 사용하여 쓰기 및 쓰기 수행

나는 클라이언트가 stomp를 사용하는 메시지 큐에서 변경 사항을 수신하는 앱을 보유하고 있습니다. 이전에는 클라이언트가 서버의 변경 사항을 알려주는 메시지에 대한 관련 채널을 청취 할 필요가있었습니다. 간단한 물건.

이제 클라이언트가 데이터를 편집하고 변경 사항을 다시 서버로 보낼 수 있어야합니다. 서버의 데이터는 안정적인 리소스를 통해 이미 공개되어 있으므로 REST가 서버의 데이터를 변경하라는 요청을 내린 다음 메시징을 사용하여 솔루션을 찾을 수 있는지 궁금해하기 시작했습니다. 클라이언트가 변경 사항을 게시 할 수있는 다른 채널을 열어서 서버가 해당 채널을 구독하고 그에 따라 업데이트 할 수 있습니다. 이것을 구현하는 것은 분명 간단 할 것이지만 나는 잠정적 인 함정들을 미리 나에게 지적 해주고 싶다.

나는 REST의 맥락에서 몇 가지 질문을 물어보고 싶은, 그래서 나는 REST 익숙 :

  • 나는 각각의 자원 즉 itemPostQueue, itemPutQueue, itemDeleteQueue에 대한 REST/CRUD 동사에 큐의 그룹지도 것인가를?
  • 대기열을 사용하여 읽을 데이터를 요청하려면 어떻게해야합니까?
  • 문제를 잡기 위해 내 상태 코드 메커니즘을 바꾸려면 어떻게해야합니까? 아니면 스톰프에서 오류나 영수증 헤더를 사용하여 화재 나 잊어 버릴 수 있습니까?

모든 답변과 조언을 주시면 대단히 감사하겠습니다.

감사합니다,

크리스

+0

그냥 좋은 출발점이 될 수있는이 책을 발견 행운을 빕니다 : http://www.amazon.co.uk/Enterprise-Integration-Patterns-Designing-Deploying/dp/0321200683 – ChrisInCambo

+0

그것은 정말 아무튼를 메시지 대기열이 필요하면 소리가 나지 않습니다. 단순히 REST 요청을 수행하지 않고 그 사이에 추가적인 복잡성이없는 이유가 있습니까? – leonm

+0

가장 큰 골치 아픈 문제는 클라이언트가 flex 기반이고 flex가 GET과 POST 이외의 HTTP 메소드를 지원하지 않는다는 것입니다. 이는 클라이언트와 안정적인 리소스 사이에 프록시를 배치해야한다는 것을 의미합니다. 두 번째 이유는 재미를 위해 뭔가 다른 것을 시도하는 것입니다! – ChrisInCambo

답변

0

I가 명확하지 오전하지만 왜 해야 사용 메시징 여기 몇 가지 생각 :

당신 수 itemPostQueue 같은 와이어 REST에지도 , 그러나 이것은 메시지 지향적 인 사람에게는 부 자연스럽게 느껴질 것입니다. 보장 된 의미를 가진 어떤 종류의 큐를 사용하고 한번 전달 된 경우, 그 메커니즘을 사용하십시오. 장바구니 예를 들어, AddItem 메시지를 유선에 넣을 수 있으며 인프라에서 한 번만 서버에 전달할 수 있다고 신뢰할 수 있습니다.

여기서 메시지 대기열에는 직접 GET과 같은 개념이 없습니다. 한 쌍의 메시지로 시뮬레이션 할 수 있습니다. 요청을 보내면 답장을 보내드립니다. 이것은 RPC와 매우 유사하지만 더 이상 분리되어 있습니다. 그래서 당신에게 PublishCart 요청을 보내고 나중에 서버는 클라이언트가 듣고있는 채널에 CartContents 메시지를 보냅니다.

상태 코드는 더 복잡하며 일반적으로 두 개의 캠프로 나뉩니다. 첫 번째는 실제 큐 라이브러리 메시지입니다. 일반적인 시스템 메시지와 마찬가지로 메시지를 처리합니다. 두 번째로 체인의 일부 위치에서 신호 장애를 일으키는 전선에 걸고 싶은 메시지를 가지고있을 수 있습니다.

메시징이하는 일 중 하나는 앱을 크게 분리하는 것입니다. HTTP와는 달리, 대기열을 사용하여 문제가 발생했음을 알면 다른 사람에게 편지를 보냅니다. 그것은 거기에 도착할지도 모른다. 우체부는 눈에 떨어 뜨릴 수 있습니다. 개가 먹을 수도 있습니다.일정 시간 내에 응답을받지 못하면 다른 방법을 사용하여 친척에게 연락하거나 유추를 취소하여 서버에 문의하십시오. 큐 인프라 스트럭처의 상태 및 대기열 모니터링 등은 현재 중요하게 고려되고있는 배관이므로 추가 중요성이 강조됩니다.