2017-11-08 12 views
3

다른 리소스 그룹에있는 내구성이있는 기능을 사용하여 Azure 기능 연결을 실현할 수 있습니까 & 소비 계획이 있습니까? 또는 함수가 동일한 리소스 그룹/서비스 계획에 있어야합니까?다른 리소스 그룹 및 소비 계획에있는 내구성있는 기능으로 Azure 기능 체이닝을 수행 할 수 있습니까?

서비스 버스를 사용하는 것과 별도로 기능이 서로 다른 서비스에서 어떻게 통신 할 수 있습니까?

답변

1

단일 기능 앱 내에서 체인 내구성 기능 만 지원합니다. 이는 Azure Storage 제공 업체의 현재 디자인에 의해 부과 된 기술적 제한 사항입니다.

그러나 사용자의 필요에 따라 다양한 방법으로이 문제를 해결할 수 있습니다. 예를 들어 함수 앱 A의 오케스트레이션은 내부적으로 다른 오케스트레이션을 시작하거나 Instance Management APIs을 사용하여 이벤트를 기존 오케스트레이션으로 올리는 함수 앱 B에서 대기열 트리거 함수를 트리거하는 대기열 메시지를 보낼 수 있습니다.

튼튼한 함수 오케스트레이션은 함수 응용 프로그램 A의 오케스트레이션이 함수 응용 프로그램 B에서 오케스트레이션을 시작하기 위해 HTTP를 사용할 수 있다는 것을 의미하는 비동기 HTTP 모델을 지원 한 다음 사용 가능한 경우 응답을 얻기 위해 다시 가져온 상태 끝점을 폴링합니다 (HTTP API 주제에 대한 자세한 정보).

하지만 다른 기능 앱간에 의사 소통을하고 싶은 이유에 대해 의견을 말씀해 주시겠습니까? 이전에이 요청을 받았고 더 많은 데이터가 있으면 솔루션을 더 빨리 구현하는 데 도움이 될 수 있습니다. :)

+0

우리는 그들 만의 데이터베이스를 가진 다중 마이크로 서비스 도메인을 가지고 있습니다. Azure 기능을 사용하는 주제 트리거 또는 스케줄러에 의해 호출되는 여러 워크 플로우가 있습니다. 이러한 워크 플로에는 종종 다른 도메인의 Azure 기능을 통해 다른 도메인 서비스의 데이터가 필요합니다. Azure 서비스 버스를 통한 요청 - 응답 체이닝은 천천히 진행됩니다. Azure Service 버스 SDK의 많은 메소드가 느리기 때문에 (예 : SessionClient.AcceptMessageSessionAsync) 큐를 유지 관리해야만이 워크 플로우를 조정할 수 있습니다. 또 다른 방법으로 Azure 함수를 다른 서비스에서 직접 호출하여 도메인 간 데이터를 얻을 수 있습니다. –

+0

더 자세히 설명하려면 .Net Standard 1.x 버전에서 SessionClient.AcceptMessageSessionAsync가 느립니다. –