[扩展推荐] Laravel Tenancy —— 多站点架构方案

1,845 阅读1分钟

文章转发自专业的Laravel开发者社区,原始链接:learnku.com/laravel/t/1…

Laravel Tenancy 是由 Daniël Klabbers、Paulo Trajano 和 Bertrand Kintanar 发布的扩展包,使你的 Laravel 应用支持多租户。

这个不引人注意的扩展包,使你的应用支持多租户,来服务于多个站点,即一套代码库配置一个或者多个主机名。清晰的分离了资源、数据库和覆盖每个租户的逻辑的能力。

适合那些为不同用户重用功能的营销公司和新兴公司,构建软件作为服务。

Laravel Tenancy 扩展包包含以下特点:

  • 用 Laravel 框架集成;
  • 事件驱动的可扩展架构;
  • 关闭设置项集成到 Web 服务器中;
  • 能添加特定租户的配置、代码和路由等。

对在多租户应用中,数据库架构的标准处理包括:

  • 为系统数据和租户表预设一个数据库。
  • 为系统数据的一个数据库和一些特殊租户数据库。

Laravel Tenancy 扩展包支持两种方法,你可以通过事件监听方式进行手工配置。

tenancy/tenancy 包继承于 hyn/multi-tenant ,这就意味着在生产环境中使用 hyn/multi-tenant 包来替代  tenancy/tenancy ,仍然可以正常工作。

详细请参照 hyn/multi-tenant 文档 ,了解如何安装和具体实现。