Closed 3runoDesign closed 8 years ago
Um tema muito bom e igualmente complexo. No final acho que não há muita "receita" será necessário elaborar os cenários mais comuns.
Uma base de dados para todos os tenants
Múltiplas bases de dados, uma para cada tenant.
Múltiplas bases de dados, cada base com múltiplos tenants
A maior dificuldade são nas regras de monetização, distribuição e provisionamento do projeto.
@vinicius73 realmente um tema complexo. O cenário "mais comum"... se posso dizer assim, seria o single db/multi tenant.
Concordo com o @3runoDesign, o cenário mais comum ao meu ver é o de _single db/multi tenant_
Vamos falar sobre isso no hangout de hoje, que é sobre escalabilidade
Em minhas pesquisas, encontrei este plugin: https://github.com/dlimars/laravel-tenant-subdomain
Não testei ainda, mas parece legal.
Eu já testei (mas foi teste bem basico mesmo) o http://orchestraplatform.com/docs/latest/components/tenanti.
Mandei o link direto da documentação para facilitar um pouco.
Um artigo que gostei e me deu uma luz https://www.getdonedone.com/building-the-optimal-user-database-model-for-your-application/
Seguindo o cenário "Single Database / Multi Tenant" onde tenho o webmaster/Gerente do local/Usuários.
Para criar APIs como vocês geralmente trabalham?
Gostaria de um exemplo e discussão sobre multi-database/single-tenant principalmente usando o package de ACL Defender.
Atualmente tenho uma app com single-database/multi-tenant e já está muita pesada e talvez não segura, apenas identificando o dados do cliente/tenant com um coluna company_id em cada tabela(to enjoado e achando porco isso).
Quero individualizar os bancos de dados de cada empresa, e deixar em um banco master apenas informações globais mesmo, tais como cadastro de empresas/tenants, roles, users, já as outras tabelas de módulos (financeiro, comercia, fiscal, etc) em bancos tenants.
Esta modelagem até que já tenho, o que está me ferrando os neurônios na parte de acl, Pois quero algo já pronto como package(Defender) não sei se modifico/customizo o Defender pra suportar tenant, talvez adicionar uma coluna na role (tenant_id) identificando de qual tenant é a role e tals.
Alguém ai com experiencia parecida?
Estou precisando entender melhor esse cenário e esses conceitos, vocês teriam algum material no youtube para indicar ?
Aplicações multi-tenant (multi-cliente) e práticas de escalonamento
Se fala muito de aplicações "para um único cliente". Mas quando um projeto passa a ser um PRODUTO ( SaaS )? Onde cada cliente terá sua "Organização" e cada usuário terá suas atribuições e afins.
Tópicos como: