Skip to main content
// КЕЙС 02 / 19
← Все кейсы

Blitzlearning

КлиентМУЛЬТИТЕНАНТНОСТЬ · RLS ВКЛЮЧЁН · РАБОТАЕТFastAPIPostgreSQLpgvectorMeilisearchRedis ОТКРЫТЬ САЙТ ↗
01> КАК ЭТО СТРОИЛОСЬ
// ЗАДАЧА01

AI-нативную LMS предстояло продавать учреждениям, которые не делят между собой ничего: стоит одному арендатору увидеть поток другого — контракт закончен, и при этом библиотека курсов, которую никто не хочет листать страницу за страницей, должна ощущаться мгновенной.

// ПОДХОД02

Изоляция живёт в базе, а не в коде приложения: Postgres 16 с row-level security на каждого арендатора, рядом pgvector для поиска по смыслу, Meilisearch для скорости по ключевым словам и воркеры arq, загружающие материалы за асинхронной поверхностью FastAPI.

// РЕЗУЛЬТАТ03

Арендаторы делят одну базу и не доберутся до чужих строк, даже если ошибётся API. Материал курса становится доступным поиску и по формулировке, и по намерению в момент окончания загрузки.

case --info blitzlearning
> клиент · Blitzlearning
> отрасль · EdTech
> стек · FastAPI · PostgreSQL · pgvector · Meilisearch · Redis
> результат · МУЛЬТИТЕНАНТНОСТЬ · RLS ВКЛЮЧЁН · РАБОТАЕТ
> case/blitzlearningВЫПУЩЕНО ▮

Нужна такая же система?

Расскажите, что вы строите. В ответ пришлём проработанный план, а не коммерческое предложение.