Я разрабатываю многопользовательское веб-приложение SaaS, которое будет размещено в Windows Azure и будет использовать хранилище таблиц.
На данный момент я обнаружил только следующие ограничения:
Я решаю, как лучше всего разделить свое хранилище для нескольких клиентов:
Вариант 1: Предоставить каждому клиенту собственную учетную запись хранения . Маловероятно, учитывая ограничение по умолчанию на 5 учетных записей.
Вариант 2: Дайте каждому клиенту свой собственный набор таблиц. Приставьте к именам таблиц идентификаторы клиентов, например разделение таблицы Books, как «CustA_Books», «CustB_Books» и т. Д.
Вариант 3: Используйте один набор таблиц, но префикс ключей раздела для разделения клиентов. Итак, одна таблица "Книги" с ключами разделов " Клиенты обычно подключаются к главному
, но вполне допустимо подключение к comp1
или comp2
напрямую.
Клиенты жалуются, что они всегда нужно ждать загрузки апплета (он довольно большой). Я думал, что как только клиент загрузит необходимые jar-файлы, они будут кэшированы и больше не будут загружены. Сначала я думал, что плагин клиента не кэширует, но я думаю, что нашел причину проблемы, хотя я этого не понимаю.
мастеру
(который является в настоящее время указывает на comp1
) впервые. Необходимо дождаться загрузки jar-файлов. Это ожидается. ведущему
снова. Мне не нужно ждать, пока загрузятся банки. Это также ожидаемое / желаемое поведение. comp1
. Необходимо дождаться загрузки jar-файлов. Я бы предпочел, чтобы это не происходило, так как это тот же сервер, но я могу понять, почему, поскольку comp1
представляется клиенту как совершенно другой хост. мастер
. Опять же, я должен дождаться загрузки всех банок. Это не то, что я ожидал. Банки должны были быть загружены уже на шаге 1/2. Используя панель управления Java, я могу видеть ресурсы, которые находятся в кеше. Мне кажется, что ресурсы привязаны к URL-адресу, поэтому я не знаю, почему я получаю то, что делаю. Кажется, что два разных имени хоста для одного и того же сервера испортили кеш клиента.
Я должен упомянуть, что имя хоста master
- это не просто псевдоним DNS. Это действительно другой IP-адрес, который comp1 / comp2
динамически связывается / отключается во время работы приложения.
Не могли бы вы объяснить, что я здесь вижу, или предложить какие-то способы исследования?