Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Archtechx/Tenancy


Archtechx/Tenancy


Archtechx/Tenancy는 Laravel 애플리케이션을 위해 설계된 포괄적이고 유연한 멀티 테넌시 패키지입니다. 이를 통해 개발자는 기존 애플리케이션에서 상당한 코드 변경이 필요하지 않고 다중 테넌시를 구현할 수 있으므로 단일 라벨 설치 내에서 여러 세입자를 관리 할 수있는 자동 및 원활한 방법을 제공합니다.

패키지는 자동 다중 테넌시 접근 방식으로 작동하므로 데이터베이스 연결, 캐시, 파일 시스템, 큐 및 Redis 상점과 같은 임차인 별 구성을 관리합니다. 이 자동화를 통해 개발자는 단일 테넌트 앱을 코드베이스에서 최소한의 개입으로 다중 테넌트 SAAS 플랫폼으로 변환 할 수 있습니다.

ArchTechx/Tenancy의 주요 기능은 다음과 같습니다.

- 자동 테넌트 식별 : 2 단계 도메인 지원을 포함하여 호스트 이름을 기반으로 테넌트를 식별합니다. 이를 통해 수동 구성이없는 세입자 도메인을 기반으로 라우팅 및 컨텍스트 전환이 가능합니다.

- 코드 변경이 필요하지 않습니다 : 테넌시 관리는 특정 특성으로 모델을 수정하거나 캐시 또는 스토리지와 같은 Laravel Core 클래스를 임차 인식 버전으로 대체 할 필요가 없습니다. 이로 인해 Laravel의 컨벤션을 존중하는 깨끗한 통합이 발생합니다.

-단일 및 다-다타베이스 테넌시 모델을 모두 지원합니다. 데이터베이스별로 세입자 데이터를 분리하거나 테넌트 스코핑 모델과 함께 공유 데이터베이스를 사용할 수 있습니다. 멀티-다타베이스 접근법의 경우 패키지는 적절한 테넌트 데이터베이스에 대한 범위 모델을 자동으로 범위로 제공하는 특성을 제공합니다.

- 이벤트 기반 아키텍처 : 패키지는 생성, 초기화 및 파괴와 같은 임차인 수명주기 작업 중에 해고되는 이벤트를 중심으로 구축됩니다. 이 디자인을 통해 개발자는 이러한 이벤트에 연결하고 필요에 따라 동작을 사용자 정의하여 확장 가능한 시스템을 만듭니다.

- 다른 Laravel 패키지와의 통합 : Archtechx/Tenancy는 Laravel Nova를 포함한 다른 Laravel 생태계 패키지와 원활하게 통합되어 친숙한 도구에서 세입자 별 리소스를 쉽게 관리 할 수 ​​있습니다.

- 테스트 가능성 : 테스트 가능성을 염두에두고 설계되었습니다. 이 패키지는 테넌트 등록 흐름, 테넌트 컨텍스트 전환 및 임차인 별 운영을 철저히 테스트하여 안정적이고 안정적인 다중 테넌시 설정을 보장 할 수 있습니다.

- 사용자 및 리소스 공유 : 패키지는 사용자가 여러 세입자에 속할 수있는 시나리오를 지원합니다. 필요한 경우 테넌트 데이터베이스에서 데이터를 동기화 할 수있는 리소스 동기화 기능이 있습니다.

- 사용자 가장론자 : 사용자 가장 특징이 포함되어있어 관리 사용자가 디버깅 또는 지원 목적으로 시스템 전체에서 테넌트 사용자를 가장 할 수 있습니다.

- 데이터베이스 호환성 : MySQL, PostgreSQL, SQLite를 포함한 여러 데이터베이스 시스템에서 작동하며 PostgreSQL Schemas를 지원하여 테넌트 데이터 분리 방법에 대한 유연성을 제공합니다.

- 수동 및 자동 모드 : 기본 모드는 자동으로 컨텍스트를 전환하지만 패키지는 수동 테넌시 관리를 지원하며 개발자는 데이터베이스 연결을 선호하는 경우 테넌트 컨벤션을 명시 적으로 지정할 수 있습니다.

-기능으로 포장 : 패키지는 Laravel Tenancy 패키지 중에서 가장 기능이 풍부한 것으로 간주되며 도메인 보호, 테넌트 수명주기 관리 및 자원 격리와 같은 일반적인 SAAS 요구 사항을 충당하기위한 다양한 도구를 제공합니다.

이 패키지는 Laravel 커뮤니티에서 높이 평가되며 Github에서 4,000 개가 넘는 별을 유지하고 다양한 호스팅 플랫폼의 많은 생산 응용 프로그램에 사용됩니다. 정기적 인 릴리스와 환영 기고 기반으로 적극적인 개발 중입니다.

Spatie/Laravel-Multitenancy와 같은 다른 Laravel Tenancy 패키지와 비교하면 Archtechx/Tenancy는 더 넓은 자동 설정 기능과보다 유연한 이벤트 중심 아키텍처를 제공합니다. 이를 통해 복잡한 임차 요구 사항을 기대하는 프로젝트 또는 기존 응용 프로그램 구조를 최소화하려는 프로젝트에 적합합니다.

설치에는 일반적으로 Composer를 통해 패키지 등록, 구성 파일 게시 및 임차인 인식 경로 및 미들웨어 설정이 포함됩니다. 설정 후 테넌트는 프로그래밍 방식으로 또는 관리 인터페이스를 통해 만들 수 있으며 패키지는 각 요청 동안 임차인 환경을 자동으로 관리합니다.

이 패키지는 또한 Github 및 기타 채널을 통한 커뮤니티 지원과 함께 잘 문서화 된 API 및 가이드를 제공하므로 신규 이민자와 경험이 풍부한 Laravel 개발자 모두가 액세스 할 수 있습니다.

요약하면 Archtechx/Tenancy는 Laravel 개발자가 최소한의 코드 수정 및 최대 확장 성으로 확장 가능한 SAAS 애플리케이션을 구축 할 수 있도록 설계된 강력하고 유연하며 고도로 자동화 된 다중 테넌시 솔루션으로 간단하고 고급 테넌 시나리오를 쉽게 지원합니다. 이벤트 중심 모델, 다중 대사 지원 및 심층 Laravel 통합은 멀티 테넌트 라 라벨 프로젝트의 주요 선택으로 구별됩니다.