Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Archtechx/테넌시


Archtechx/테넌시


`archtechx/tenancy` 패키지는 Laravel 애플리케이션에서 다중 테넌트를 구현하기 위한 유연하고 강력한 도구입니다. 다음은 `spatie/laravel-multitenancy`와 같은 다른 패키지와 비교한 몇 가지 주요 기능과 차이점입니다.

`archtechx/tenancy`의 주요 기능:

1. 자동 멀티 테넌시: 패키지는 코드를 크게 변경할 필요 없이 자동으로 멀티 테넌시를 설정합니다. 각 테넌트에 대한 데이터베이스 연결, 캐시, 파일 시스템, 대기열 및 Redis 저장소를 처리합니다[3].

2. 이벤트 기반 아키텍처: 패키지는 이벤트 중심 아키텍처를 사용하므로 테넌시 관련 이벤트를 처리할 때 사용자 정의 및 유연성을 허용합니다[3].

3. 단일 또는 다중 데이터베이스 테넌시: 단일 데이터베이스 및 다중 데이터베이스 테넌시 모델을 모두 지원합니다. 다중 데이터베이스 테넌시의 경우 현재 테넌트에 모델 범위를 지정하기 위한 모델 특성을 제공합니다[3].

4. 다른 패키지와의 통합: 이 패키지는 테넌트 리소스를 관리하는 데 사용할 수 있는 Laravel Nova를 비롯한 다른 Laravel 패키지와 원활하게 통합됩니다[3].

5. 테스트 가능성: 패키지는 테스트 가능성이 높도록 설계되어 다중 테넌시 구현을 더욱 쉽게 철저하게 테스트할 수 있습니다[3].

6. 사용자 정의: 패키지는 이벤트 기반 아키텍처 및 모델 특성을 통해 광범위한 사용자 정의 옵션을 제공하므로 개발자는 이를 특정 요구 사항에 맞게 조정할 수 있습니다[3].

설치 및 빠른 시작:

1. 설치: Composer: `composer require stancl/tenancy`를 사용하여 패키지를 설치할 수 있습니다.

2. 빠른 시작: 패키지에는 다중 데이터베이스 테넌시 및 도메인 식별 설정을 안내하는 빠른 시작 자습서가 포함되어 있습니다. 이 튜토리얼은 패키지의 문서 페이지[4]에서 볼 수 있습니다.

`spatie/laravel-multitenancy`와의 비교:

- 자동 설정: 두 패키지 모두 자동 설정 옵션을 제공하지만 'archtechx/tenancy'는 자동 설정이 더 포괄적이어서 기본적으로 멀티 테넌시의 더 많은 측면을 처리합니다.
- 이벤트 기반 아키텍처: `archtechx/tenancy`는 `spatie/laravel-multitenancy`에 비해 더 많은 유연성과 사용자 정의 옵션을 제공하는 이벤트 중심 아키텍처를 사용합니다.
- 다른 패키지와의 통합: 두 패키지 모두 다른 Laravel 패키지와 잘 통합되지만 'archtechx/tenancy'는 Laravel Nova와 같은 패키지 지원에 있어 더 명시적입니다.
- 테스트 가능성: 두 패키지 모두 테스트 가능하도록 설계되었지만 `archtechx/tenancy`는 테스트 가능성에 더 중점을 두고 철저한 테스트를 보장하기 위해 더 많은 도구를 제공합니다.

요약하자면 `archtechx/tenancy`는 광범위한 사용자 정의 옵션과 다른 패키지와의 더 나은 통합을 통해 Laravel의 다중 테넌트를 위한 보다 포괄적이고 유연한 솔루션을 제공합니다. 그러나 두 패키지 사이의 선택은 궁극적으로 프로젝트의 특정 요구 사항과 필요 사항에 따라 달라집니다.

인용:
[1] https://stackoverflow.com/questions/74005556/archtechx-tenancy-vs-spatie-laravel-multitenancy
[2] https://github.com/archtechx/tenancy/actions
[3] https://tenancyforlaravel.com
[4] https://tenancyforlaravel.com/docs/v3/quickstart/
[5] https://github.com/stancl/tenancy/releases