Как строятся серьезные приложения где есть клиентская и админская части?
Добрый день!
Давно интересует вопрос, как строятся большие приложения с точки зрения архитектуры. Например, есть сайт для клиента, где он выполняет свои задачи, например, пишет посты в блог или тому подобное. Но так же на этом сайте есть и админка для управления блогами всех юзеров, доступ к которой открыт только админам сайта. Как такие проекты делаются? У меня есть 2 варианта:
1) Создается 1 большой проект, в котором функционал для юзера находится по пути /client, а функционал админа по пути /admin. При этом варианте, получается, что клиент случайно/не случайно может зайти на страницу админа и наделать гадостей. При таком варианте если будет идти DDoS атака на клиентскую часть, то админка будет находиться под DDoS'ом, что не есть хорошо.
2) Создаются 2 проекта. Первый - админка, которая хостится на отдельном домене и сервере и второй - чисто клиентский функционал. Дальше, через API это все взаимодействует. Если будет идти DDoS атака на клиента, то с админ частью все будет окей.
Если у кого-то есть статьи/видео на эту тему, буду признателен за информацию)
Берем нормальный фреймворк
Там есть роутинг
Роутинг может использовать несколько доменов
На роутинг вешаем функционал
От ддоса есть cloudflare и аналоги
Оба ваших подхода используются, но к защите от атак не имеют никакого отношения
Ну если DDoS на клиентской части, то скорее всего ляжет в первую очередь база. Так что админка вероятно всё равно будет тормозить из-за долгой загрузки данных из базы. В данном случае, конечно, частично решает вопрос репликации базы (чтение, запись на разных серверах, переодически обновляющиеся).