에 나는 것입니다 응용 프로그램 만들고있어 :노드 API 아키텍처 AWS
- iOS 및 안드로이드 모바일 애플 리케이션에서 수집 한 데이터를 표시
- 웹 기반 "대시 보드"애플 리케이션을
앱을 사용하려면 최종 사용자가 Google에 계정을 만들어야합니다 (대부분 Facebook/Twitter 로그인을 사용하지 않습니다).
모든/호스팅 EC2/RDS/S3를 (모든 탄성 콩 줄기에 캡슐화)
| Web Browser | <----> | sails.js app | <-------> |actionhero.js API|
⬆︎
⬆︎
| Mobile app(s) | <-------------------------------------/
는 지금까지 내가 actionhero.js에서 백업 API의 대부분을 구축했습니다 사용하여 AWS에서 호스팅 될 것입니다 AWS에서
웹 앱은 사용자의 작은 하위 집합에 불과하므로 API와 웹 앱을 구분하는 것이 좋습니다. 웹 앱보다 모바일 앱의 트래픽이 50 배 더 많을 것으로 기대합니다. API를 확장하여 sails.js 앱을 불필요하게 확장하지 않고도 모바일 사용자에게 서버를 제공 할 수 있습니다.
내 질문은 :
(biuggest 알 수없는) 어떻게 처리해야 인증?
sails.js
앱은 API에 대한 요청을 할 수 있어야하며 모바일 애플리케이션도 요청할 수 있어야합니다.우리 자신의 인증 서버를 만들기 위해 노드 모듈
oauth2orize
을보고 있었지만 Connect/Express 용으로 설계되었으므로 actionhero.js 기반 API에서 활용할 수 있다고 생각하지 않습니다.솔루션이 OAuth 서버를 만드는 것이면 EC2 인스턴스에서 호스팅해야합니까?
(AWS 관련 질문) AWS에서 "작업자 계층"환경을 구현하는 데 필요한 사용 사례를 완전히 이해하지 못했습니다. API가 해당 카테고리에 속할 이유가 있을까요?
데이터 쿼리 및 집계 작업을 실행하려면 별도의 노드 프로세스를 만들겠습니까? 그렇다면 은 자체의 EC2 인스턴스에 해당 백업자가 있어야합니까?
Sails.js와 Actionhero.js는 모두 socket.io를 많이 지원합니다. Sails 앱과 내 API 사이의 통신은 지속적인 WebSocket 연결에서 발생해야합니까? 미래에 새로운 인스턴스를 생성해야한다면 그 규모가 될 것입니까?
이것은 상당히 일반적인 패턴처럼 보입니다. 이 디자인에 커다란 붉은 깃발이 있다면 전에 앞에 나 자신을 구석으로 칠하고 싶습니다. :-) 감사! (AWS 탄성 콩 줄기에 해당)
보너스 질문
내가 돛에 대해 별도의 "응용 프로그램"을 작성합니다.js 서버 및 API 서버? 그것은 그것이 어쨌든 설정하는 유일한 방법 인 것처럼 보이지만 나는 확실히하고 싶습니다.