Ограничения для учетных записей хранилища таблиц Windows Azure

Я разрабатываю многопользовательское веб-приложение SaaS, которое будет размещено в Windows Azure и будет использовать хранилище таблиц.

На данный момент я обнаружил только следующие ограничения:

  • 5 учетных записей хранения на подписку
  • Максимум 100 ТБ на учетную запись хранения
  • 1 МБ на объект

Я решаю, как лучше всего разделить свое хранилище для нескольких клиентов:

Вариант 1: Предоставить каждому клиенту собственную учетную запись хранения . Маловероятно, учитывая ограничение по умолчанию на 5 учетных записей.

Вариант 2: Дайте каждому клиенту свой собственный набор таблиц. Приставьте к именам таблиц идентификаторы клиентов, например разделение таблицы Books, как «CustA_Books», «CustB_Books» и т. Д.

Вариант 3: Используйте один набор таблиц, но префикс ключей раздела для разделения клиентов. Итак, одна таблица "Книги" с ключами разделов " Клиенты обычно подключаются к главному , но вполне допустимо подключение к comp1 или comp2 напрямую.

Клиенты жалуются, что они всегда нужно ждать загрузки апплета (он довольно большой). Я думал, что как только клиент загрузит необходимые jar-файлы, они будут кэшированы и больше не будут загружены. Сначала я думал, что плагин клиента не кэширует, но я думаю, что нашел причину проблемы, хотя я этого не понимаю.

  1. Подключите клиента к мастеру (который является в настоящее время указывает на comp1 ) впервые. Необходимо дождаться загрузки jar-файлов. Это ожидается.
  2. Подключите клиента к ведущему снова. Мне не нужно ждать, пока загрузятся банки. Это также ожидаемое / желаемое поведение.
  3. Подключите клиента к comp1 . Необходимо дождаться загрузки jar-файлов. Я бы предпочел, чтобы это не происходило, так как это тот же сервер, но я могу понять, почему, поскольку comp1 представляется клиенту как совершенно другой хост.
  4. Подключите клиента обратно к мастер . Опять же, я должен дождаться загрузки всех банок. Это не то, что я ожидал. Банки должны были быть загружены уже на шаге 1/2.

Используя панель управления Java, я могу видеть ресурсы, которые находятся в кеше. Мне кажется, что ресурсы привязаны к URL-адресу, поэтому я не знаю, почему я получаю то, что делаю. Кажется, что два разных имени хоста для одного и того же сервера испортили кеш клиента.

Я должен упомянуть, что имя хоста master - это не просто псевдоним DNS. Это действительно другой IP-адрес, который comp1 / comp2 динамически связывается / отключается во время работы приложения.

Не могли бы вы объяснить, что я здесь вижу, или предложить какие-то способы исследования?

10
задан wolfcastle 27 April 2011 в 19:43
поделиться