Допустим, у меня есть домен:
mywonderfulapp.com
Я бы хотел иметь поддомен для каждого клиента. Например:
clientA.mywonderfulapp.com
Я бы хотел, чтобы клиент A пошел по URL clientA.mywonderfulapp.com
и получил свои данные в частном порядке, а клиент B мог бы перейти на clientB.mywonderfulapp.com
, чтобы получить свои собственные данные.
Код приложения должен быть таким же, но они должны использовать другое хранилище данных.
Возможно ли это с помощью Google App Engine Java?
Заранее спасибо!
Спасибо за полученный отзыв. Кажется, что Google App Engine Aplication не может использовать несколько хранилищ данных на поддомен.
Решения
@ jldupont и @Steve Jessop:
Позвольте мне попытаться понять, что вы имели в виду. Пожалуйста, поправьте меня, если я вас не понял.
Каждый объект имеет поле с именем prefix, в котором хранится строка субдомена, к которой он принадлежит. Эта строка может быть захвачена, например, с помощью фильтра, настроенного в web.xml:
<filter>
<filter-name>SubdomainFilter</filter-name>
<filter-class>filters.SubdomainFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SubdomainFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Затем используйте запрос, такой как:
select from guestbook.Greeting where subdomain == 'clientA'
Вопросы
- Не будет ли медлительно выполнять запросы в такой огромной «базе данных»?
- Разве это не имеет последствий для безопасности, когда все данные пользователя и учетной записи смешиваются в одном и том же хранилище данных?