웹 서비스를 사용하면 원격 호출 수를 줄이기 위해 여러 서비스 호출을 하나의 메시지로 배치하는 것이 좋습니다. RESTful 서비스로이를 수행 할 수있는 방법이 있습니까?REST에서 일괄 처리
답변
어떻게 일괄 처리 요청이 REST에서 의미가 있는지 알 수 없습니다. REST 기반 서비스의 URL은 수행 할 작업과이를 수행 할 데이터를 나타내므로 일괄 요청을하면 개념 모델이 심각하게 손상됩니다.
동일한 데이터를 여러 번 동일한 작업을 수행하는 경우는 예외입니다. 이 경우 요청 매개 변수에 대해 여러 값을 전달하거나 본문에서이 반복을 인코딩 할 수 있습니다 (단, PUT 또는 POST의 경우에만 작동합니다). Gliffy REST API는 본질적으로
POST /folders/ROOT/the/folder/name/users?userId=56&userId=87&userId=45
를 통해 동일한 폴더에 여러 사용자를 추가 지원 :
다른 주석이 지적한 것처럼, GET에서 페이징 결과는 요청 매개 변수를 통해 수행 할 수 있습니다PUT /folders/ROOT/the/folder/name/users/56
PUT /folders/ROOT/the/folder/name/users/87
PUT /folders/ROOT/the/folder/name/users/45
:
GET /some/list/of/resources?startIndex=10&pageSize=50
는 경우 REST 서비스를 지원합니다.
매개 변수, 수행 할 REST 작업 컬렉션 및 해당 매개 변수를 취하는 GetBatch 작업을 만드는 경우 어떻게됩니까? 그런 다음 결과 세트가 상관 관계가있는 REST 조작에 의해 키순으로 리턴 될 수 있습니다. 이것은 또한 REST의 개념 모델을 위반하는 것입니까? – crush
물론 방법이 있지만 서버 측 지원이 필요합니다. 내가 아는 모든 방법론에 맞는 마 법적 크기는 없습니다.
실제로 배치해야하는 경우 Http 1.1은 응답을 받기 전에 여러 요청을 보낼 수있는 HTTP 파이프 라이닝이라는 개념을 지원합니다. 그것을 확인하십시오 here
동의 - 플러스 HTTP는 HTTP 파이프 라이닝으로 계속 활성 상태를 유지하며 동일한 REST API를 사용하는 동안 일괄 처리의 효과를 유지합니다. 일반적으로 서비스에 다른 REST API가 필요하지 않습니다. –
우리는 이렇게 처리하고 멋지게 작동합니다. 어색한 다중성을 가진 외부 엔드 포인트가 필요하지 않습니다. org.apache.http.nio.protocol을 사용합니다.HttpAsyncRequestExecutor'와 클라이언트의'SSLNHttpClientConnectionFactory'를 호출합니다. 우리의 weblogic 서버는 즉시 사용할 수 있습니다. – SusanW
나는 Darrel Miller에 동의합니다. HTTP는 이미 HTTP 파이프 라이닝을 지원합니다. HTTP 지원은 동일한 소켓에서 동시에 여러 HTTP 작업을 스트리밍하여 서버에 새로운 요청을 스트리밍하기 전에 응답을 기다릴 필요가 없도록합니다.
HTTP 파이프 라이닝 및 연결 유지 동일한 기본 REST API를 사용하면서 일괄 처리의 효과를 얻습니다. 따라서 일반적으로 서비스에 다른 REST API가 필요 없습니다.
Astoria 팀은 여러 부분의 mime을 사용하여 여러 건의 호출을 보냈습니다. 멀티 파트 메시지가 원자 적 연산의 의도를 유추 할 수 있기 때문에 파이프 라이닝과는 다릅니다. 다소 우아 해 보입니다.
- 1. REST에서 예외 처리
- 2. .net Rx : 메시지의 일괄 처리 일괄 처리
- 3. JPA (일괄 처리)의 일괄 업데이트
- 4. Linux의 현대 일괄 처리
- 5. Symfony 일괄 처리
- 6. Mercurial 일괄 처리 작업
- 7. Scala에서 일괄 처리
- 8. GUI 일괄 처리 사용
- 9. 일괄 처리 php의 fgetcsv
- 10. ksh 일괄 처리
- 11. 일괄 처리 응용 프로그램 병렬 처리
- 12. PowerShell에서 일괄 처리 작업 만들기
- 13. 백 프로덕션 및 일괄 처리
- 14. 일괄 처리 명령 오류가 발생했습니다
- 15. 페이징을 사용한 이미지 일괄 처리
- 16. 레일 종이 클립 일괄 처리
- 17. Nhibernate : 일괄 처리 및 StatelessSession
- 18. 일괄 처리 루프 이스케이프 별표
- 19. ldap 서버 측 일괄 처리
- 20. 일괄 처리 - 파일 이름 생성
- 21. Bea Weblogic에서 일괄 처리 실행
- 22. 일괄 처리 시작시 C# 동결
- 23. 보내기 Hbase 일괄 처리 압축?
- 24. python에서 종속성을 사용하여 일괄 처리
- 25. 이름에 숫자가있는 파일을 찾기위한 일괄 파일 일괄 처리
- 26. REST에서 상태를 관리하는 방법
- 27. 월별 폴더를 생성하는 일괄 처리 스크립트
- 28. 모든 Excel 파일을 강제로 닫을 일괄 처리
- 29. 전복 : 만들 디렉토리 변경을 일괄 처리 단일로는
- 30. Oracle 업데이트 문을 일괄 처리 모드로 실행
의 foreach (requestBatch에 RestRequest REQ) requestResponseList.Add (webService.Call (REQ)); 일괄 적으로 RESTful 서비스를 호출하면 무엇을 의미합니까? 많은 요청 정의가 포함 된 요청 하나? –