2012-10-07 5 views
1

저는 실제로 웹 사이트에 ASP.NET MVC 4를 사용하고 있습니다. 이 웹 사이트는 내 게임 데이터베이스 (로그인 및 사용자 프로필)와 동일한 데이터베이스를 공유합니다. 나는 게임 로직과 요청에만 WebAPI를 사용할 것이므로 명확하게 거기에 높은 트래픽을 갖게 될 것입니다. 나는 오직 인증을위한 방법과 요청을위한 방법 중 하나만 제공합니다. (내가 여기에서 설명하지 않을 거대한 종류의 거대한 아키텍처가있다.) ASP.NET MVC 4는 web.api를 거의 통합 할 수 없기 때문에 거의 아무것도 추가하지 않았습니다. 왜 코드 중복을 피하기 위해 내 웹 사이트 프로젝트에 직접 API를 추가하지 않는 것이 좋을까요? 이것이 좋은 선택이고 왜 그런가?WebAPI를 내 웹 사이트와 통합하거나 WebAPI를 별도로 만들어야합니까?

감사합니다.

답변

1

내 웹 사이트와 동일한 프로젝트에서 웹 API를 사용해야하는 경우 귀하의 질문은 규모 확장 방법과 관련해서는 부족합니다. 세부 사항을 알지 못하는 경우 확장 방법을 권장하기가 어렵 기 때문에 동일한 웹 사이트에 웹 API를 포함하는지 여부에 대한 원래 질문에 대답해야합니다.

게임 및 게임 로직 (웹 API)이 웹 사이트에 포함되기를 원한다고 가정합니다. www.mysuperniftygame.com (또는 URL이 무엇이든간에) 그렇다면 웹 API가 웹 사이트의 일부가되기를 원할 것입니다. 왜? 이렇게하면 API 요청에 대한 하위 도메인이 필요하지 않습니다. gameapi.mysuperniftygame.com.

왜 그렇게 중요한가요? 글쎄, 귀하의 웹 사이트 및 웹 응용 프로그램이 API 요청을하는 경우 교차 도메인 문제를 처리 할 필요가 없을 것입니다. JSONP 또는 CORS 등의 정보를 통합해야만 자신의 웹 API에 요청할 수 있습니다 . 스케일 아웃 (scale-out) 및 트래픽의 높은 금액 인 API에 관해서는

, 당신은 수평으로 웹 프론트 엔드 (들)을 확장 할 수 있습니다 그리고 당신은 적어도 다음과 같은 두 가지 고려해야합니다

  1. 는 확인을 컨트롤러 (이 경우 API 컨트롤러)는 컨트롤러 외부에서 구현 된 코드를 사용하여 기울여야합니다.
  2. API 컨트롤러가 asynchronously을 실행하도록 설정하면 장기 실행에도 불구하고 웹 사이트 및 API가 계속 응답 할 수 있습니다. DB에 요청하십시오.
+0

좋은 댓글. 감사! – Rushino

관련 문제