Мультиарендность (под) домена хороша, если вы хотите дать пользователю ощущение полностью изолированной аренды. Заказчику может потребоваться настраиваемая страница приветствия и входа в систему, отдельная база пользователей и т. Д. С другой стороны, мультиарендность на основе пути хороша для пользователей, которые не привязаны к единому пространству имен арендатора. В основном он используется в социальных сетях, таких как Facebook, GitHub и т. Д.
(Под) домены могут дать вам лучшую изоляцию и контроль безопасности для файлов cookie, совместного использования ресурсов из разных источников (CORS). Это немного усложняет кросс-тенантный CSRF или XSS. Более того, если у вас есть контроль над DNS или балансировщиком нагрузки, вы можете назначать клиентов разным IP-адресам (например, гео-маршрутизация) или различным версиям приложения (например, бета-клиентам). Вы можете назначить отдельный экземпляр приложения или сервер для наиболее важных клиентов. Таким образом, вы получаете дешевый инструмент для контроля риска сбоя в одной точке и все яйца в одной корзине.
Любая веб-платформа, которая дает вам доступ к заголовкам HTTP (Host
), поддерживает поддомены. Любой серьезный веб-фреймворк MVC должен предоставлять вам субдомен в качестве параметра действия напрямую или через плагин.
Это определенно выбор дизайна. Если вы хотите знать, как лучше, подумайте, какой уровень изоляции вы хотите для своих арендаторов. Если вы решите, но обнаружите, что путь неправильный, вы можете перейти на другой уровень с помощью перенаправления HTTP 301.