우리는 웹 API를 구축하고 모든 비동기 및 장기 실행 프로세스에 대한 메시징을 위해 nServiceBus를 사용하고 있습니다.API nServiceBus 및 REST API를 사용하여 버전 관리 및 장기 실행 프로세스
새로운 대기열 집합을 사용하는 경우 새로운 버전의 API를 개발할 때 질문이 생깁니 까?
처럼, blobstore.v1.timeout
- 은 API 버전 1에 대한
- blobstore.v1.audit
및 API 버전 2의 경우
- 는
- 는
- blobstore.v2.timeout
- blobstore.v2.audit
blobstore.v2.outbound blobstore.v2.inbound 또는 우리와 큐의 동일한 세트를 사용하기 위해 노력한다 여러 메시지 형식 및 처리기 (요구 사항 변경 및 메시지 형식 변경을 가정)
장기적 관점에서 장단점을 이해하려고 노력 중입니다. 별도의 대기열 세트가 있으면 호환성 및 사교성에 대해 걱정하지 않고도 서로 다른 API 버전을 별도로 구축, 배포 및 관리 할 수 있습니다.
개인적으로 나는 후자에 기대고 있지만 호환성과 업그레이드에 대한 도전 과제는 명확하게 이해되지 않았습니다.
이전과 비슷한 시나리오를 다룬 경우 경험, 생각, 제안 및 권장 사항을 공유하십시오.
시간을 많이 주시면 감사하겠습니다.
동의합니다. 동일한 버전의 API에 여러 개의 릴리스가 있으며 메시지 호환성은이 릴리스에서 유지됩니다. Google의 현재 API 전략에 따르면 주요 변경 사항은 심각한 변경 사항이있을 때만 발생합니다. 하지만 요점은이 변경 사항이 메시징과 전혀 관련이 없으므로 인증, 저장소 등과 관련 될 수 있다는 것입니다. 메시지 버전이 있는지 여부에 관계없이 주요 API 버전 개정에 대한 대기열 버전 관리에 대한 논쟁이 있습니다. –