Как спроектировать multi-tenant SaaS на Go?

Senior
132 просмотров
AFK Offer AI

Три подхода: shared DB shared schema (tenant_id в каждой таблице), shared DB separate schema, separate DB per tenant. Первый проще и дешевле, последний — лучшая изоляция. Middleware извлекает tenant из JWT/subdomain, добавляет в context. Repository добавляет WHERE tenant_id = $1 автоматически. Row Level Security в PostgreSQL как дополнительная защита.

Следующий вопрос

Как ты балансируешь скорость разработки и качество?