У меня есть несколько вопросов об архитектуре службы подписки, которую я собираюсь начать, и я хочу получить отзывы о том, как лучше ее настроить.
У меня не будет большого количества клиентов, как Basecamp, может быть, несколько сотен, и мне было интересно, какой будет надежная архитектура для создания сайтов клиентов. Я использую SQL Server и .NET на выделенной машине. Следует ли создать новую базу данных для каждого клиента, чтобы иметь возможность контролировать и изолировать данные или хранить их все в одной базе данных?
Я также подумываю о создании поддомена для каждого клиента, чтобы при необходимости можно было вносить изменения в каждый сайт. URL клиента будут выглядеть так:
https://customer1.foobar.com
https://customer2.foobar.com
У меня будет возможность «подключать» отчеты, которые будут загружаться на сайт, чтобы каждый клиент мог настраивать их по мере необходимости. Вдобавок ко всему, для загрузки этих отчетов необходимо, чтобы каждый поддомен имел собственную кодовую базу.
Таким образом, на основном сайте заказчик подписывался на свою новую подписку, и я программно создавал новый каталог для клиента из базы основного кода, а затем создавал поддомен, указывающий на новый каталог для клиента, и затем, наконец их база данных.
Звучит ли это правильно? Я на правильном пути? Как другие такие сайты выполняют то же самое?
Спасибо, что позволили мне немного погладить ваше ухо.