2016-09-18 4 views
0

link은 성능에 대해 이야기하고 포털을 우회합니다. 내게 인증하는 WCF 서비스는 포털과 비슷합니다.BLOB SAS WCF 및 성능

lightweight 서비스가 필요에 따라 클라이언트를 인증 한 다음 이 SAS를 생성합니다. 클라이언트가 SAS를 수신하면 SAS에서 정의한 사용 권한과 SAS에서 허용하는 기간 동안 저장소 계정 리소스에 직접 액세스 할 수 있습니다. SAS는 프런트 엔드 프록시 서비스를 통해 모든 데이터를 라우팅해야 할 필요성을 완화합니다.

응용 프로그램은 인증을 위해 Azure AD를 사용하여 Azure 응용 프로그램에서 호스팅되는 WFC 서비스와 통신하는 두꺼운 .NET WPF 클라이언트입니다.

문서 관리 응용 프로그램이므로 많은 양도가 필요합니다. 검색 및 검색 결과는 비교적 소량의 트래픽입니다. 반응이 좋으려면 검색이 필요합니다.

파일 업로드 및 다운로드에 SAS을 사용하는 것이 최적화되지 않았습니까?
다른 옵션은 WCF 서비스를 통해 파일을 업로드하고 다운로드하는 것입니다.
하나 또는 다른 것에 대해 어떤 어려움이 있습니까?

제 생각에 응답 성을 유지하기 위해 파일을 WCF 서비스에서 보호하고 싶습니다.

다음은 별도의 질문이어야합니다. 클라이언트는 한 번에 1000 개의 검색 결과를 얻습니다. SAS에 대한 만료 기간이 길더라도 결과를 몇 시간 만 남겨두면 만료 될 수 있습니다. SAS가 속성 바인딩 인 경우 만료 된 SAS는 어떻게 검색합니까? 각 파일은 응용 프로그램에서 고유 한 ID를가집니다. SAS를 요청하면 더 좋을까요?

사용자가 검색 결과의 정보에 따라 검색 결과에서 거의 모든 파일에 액세스 할 수있는 경우가 있습니다. 카운트 만 받고 0 개의 파일에 액세스하기 위해 대규모 검색을 실행 중일 수 있습니다.

+0

SAS는 트랜잭션 속도 또는 처리량과 아무 관련이 없으므로 특히 성능과 관련하여 SAS 관련 문제에 대해 정확히 알지 못합니다. –

+0

@DavidMakogon Tamra의 기사를 참조하십시오. 그 기사가 틀렸어? 나는 그것을 잘못 읽고있다. – Paparazzi

+0

그 기사의 어느 부분입니까? 구체적으로 기재하십시오 - 거기에 많은 것들이 있습니다. –

답변

1

파일 업로드 및 다운로드에 SAS를 사용하는 것이 최적화되지 않았습니까?

나는 그렇게 생각하지 않는다. SAS를 사용하여 파일을 업로드/다운로드하는 것은 나에게 완벽합니다.

다른 옵션은 WCF 서비스를 통해 파일을 업로드하고 다운로드하는 것입니다. 하나 또는 다른 것에 대해 어떤 어려움이 있습니까?

SAS 기반 접근 방식의 가장 큰 장점은 데이터를 WCF 서비스를 통해 라우팅하지 않고도 Azure 저장소와 직접 상호 작용한다는 것입니다. 따라서 서비스를 정말 가볍게 유지할 수 있고 스케일링 목적으로 너무 많은 인프라를 배치하지 않을 수 있습니다. SAS의 경우 WCF 서비스는 blob에 대한 SAS 요청을 받고 클라이언트 응용 프로그램이 파일을 업로드하는 데 사용할 수있는 BLOB에 대한 SAS URL을 반환합니다.

SAS를 사용하면 SAS URL을 공유하고 의도하지 않은 잠재 고객이 링크를 공유 할 수 있습니다. 그러나 단명 한 SAS 토큰을 유지하고 SAS에 IP ACL을 적용하여 이러한 우려를 완화 할 수 있습니다.


별로 정보는 응용 프로그램 (특히 검색 부분)에 대한 공유하지만 파일에 대한 정보가 관계형 데이터베이스의 일종으로 유지되고 실제 파일이 BLOB 저장소에 보관 추측하고있다. 검색 결과의 일부로 SAS 토큰을 생성하지 않고 필요할 때만 생성합니다. 사용자가 파일을 업로드하려고하는 경우 실제 업로드 프로세스 직전에 업로드 할 SAS URL을 받게됩니다. 마찬가지로 사용자가 파일을 다운로드 할 때 해당 시간에 파일에 대한 SAS URL을 얻고 다운로드를 수행합니다.

+0

검색은 SQL Azure와 Azure Search (Lucene like)입니다. 고마워, 마이크로 소프트 녀석이 내가 어리석은다고 말한 후에 내가 아마 그럴 줄 알았다. 질문을 작성하면서 요청시 SAS 요청을 생각했습니다. 더 생각해 보면 이해가되었습니다. 나는 당신이 그것을 보니 신경 쓰지 않는다면 또 다른 질문을 제출하고 있습니다. – Paparazzi

+0

나는 당신의 다른 질문에 주목할 것입니다. 그 질문에 대한 링크를 여기에 추가 하시겠습니까? –

+0

좋은 질문을 적어 두었을 때 나는 그것을 알아 냈습니다. 나는이 소스를 오픈 할 예정이다. 윌 당신이 알려 드리겠습니다. 참여하고 싶다면 좋을 것입니다. 내 생각은 컨설팅 서비스에 돈을 버는 것입니다. 나는 매우 빠르고 확장 가능한 제품을 가지고 있지만, 최근에는 일부 라이센스에서 속임수를 썼다. 그래서 그냥 정리하고, Azure에 가져 가서 Open Source it로 가져 간다. – Paparazzi