저는 django에서 SaaS 애플리케이션의 백엔드를 작성하고 있습니다. 아키텍처에 대한 지침이 필요합니다. 그러면 제품에는 두 가지 제품이 제공됩니다. 즉, 모든 사용자가 동일한 데이터베이스를 공유하는 일반적인 제품과 전용 데이터베이스를 사용하는 프리미엄 제품입니다. 이것을 장고로 번역하려는 방법은 다음과 같습니다.django의 SaaS 제품에 대한 백엔드 아키텍처
- django 프로젝트 내에서 일반용으로 하나의 응용 프로그램이 있습니다.
- 모든 프리미엄 고객에게 별도의 앱이 제공됩니다.
- 각 앱의 모델은 동일합니다.
- 모든 앱은 별도의 데이터베이스와 통신합니다. 달성 된 내용은 다음과 같습니다. stackoverflow post 및 django documentation
- 모든 API에 대한보기는 응용 프로그램이 아닌 프로젝트의 views.py에 작성하고 응용 프로그램의 모델과 통신 할 토큰의 기초를 결정합니다. 나는이 아키텍처 지금 볼
문제점 : 모든보기에서
- , 나는 프리미엄 고객의 수가 증가 번 조건문을 많이 작성해야합니다.
- 새로운 프리미엄 클라이언트를 사용하려면 상당한 코드 변경이 필요합니다.
- 모든 다른 apps의 models.py에 코드 중복. 그러나 프리미엄 클라이언트가 등록 할 때마다 새로운 데이터베이스에 테이블을 작성하는 구문을 작성하는 것과 거의 비슷합니다. 코멘트?
전체 아키텍처에 대해 알려주십시오. 이런 방식으로 가기 전에 많은 기사와 스택 오버 플로우 게시물을 살펴 보았지만 완전히 장고에 특유한 것은 없었습니다. 그래서 100 % 확신하지 못했습니다. 미리 감사드립니다.