
하나의 계정으로 여러 회사의 업무 공간을 오가는 서비스를 떠올려 보겠습니다. 로그인은 한 번 했는데, 회사를 바꾸면 보이는 문서도 쓸 수 있는 기능도 달라집니다. 같은 계정이니 같은 사람이라는 것은 알 수 있습니다. 그런데 그것만으로는 지금 어느 회사의 일을 하고 있는지 알 수 없습니다.
이 상황을 설명하는 말이 테넌트와 테넌시입니다. 테넌트는 서비스를 사용하는 고객 단위이고, 테넌시는 그 고객들이 서비스를 사용하는 구조입니다. 둘은 이어져 있지만 같은 결정이 아닙니다. 글은 문서 협업 서비스를 예로 들어 아래 질문들을 차례로 풉니다.
tenantId를 그대로 믿으면 안 되는 이유와, 캐시·첨부 파일·비동기 작업에서도 같은 구분이 필요한 이유"우리 서비스는 멀티테넌시입니다"라는 말만으로는 구조를 알 수 없습니다. 앱은 공유하고 DB는 고객마다 나누는 식으로, 어느 계층을 함께 쓰고 어느 계층을 나누는지까지 말해야 구조가 분명해집니다. 그리고 그 전에 정해야 할 것이 있습니다. 우리 서비스가 무엇을 하나의 고객 환경으로 볼지입니다.
전문은 블로그에서 이어집니다 👇
다른 글도 블로그에서 이어집니다 · 전체 목차 보기