2013-05-05 4 views
3

Я уже провел некоторое исследование уровня зрелости SaaS на основе Gianpaolo SaaS maturity model.Объяснение балансировки нагрузки арендатора в модели зрелости SaaS уровня 4

Прямо сейчас я запутался в уровне зрелости SaaS 4. Он сказал, что у него есть «балансировщик нагрузки арендатора», который динамически вызывает новый экземпляр приложения для обслуживания балансировки нагрузки для приложения SaaS.

Я хочу знать, что на самом деле означает этот «балансир нагрузки арендатора». Как мы реализуем этот «балансировщик нагрузки арендатора» в реальном мире или на сервере приложений?

Может ли кто-нибудь дать мне хорошее объяснение и пример, например, внедрение в технологии Java EE?

ответ

2

Ключевое понятие - горизонтальная масштабируемость с балансировкой нагрузки. На высоком уровне это похоже на ESB/балансировщик нагрузки, который используется в среде SOA.

Ниже приведены некоторые из свойств Арендатором балансировкой нагрузки развертывания SAAS:

1) Более один экземпляр программного обеспечения SAAS работает.

2) Призыв арендатора к программному обеспечению может быть обработан любым из экземпляров. Балансировщик нагрузки заботится о маршрутизации запросов арендатора к одному из экземпляров на основе стратегий балансировки нагрузки.

3) Масштабируемость. Должна быть предусмотрена возможность добавления нового экземпляра с небольшим усилием при увеличении нагрузки за пределы того, что может обслуживаться текущими экземплярами. Например, в облачной среде может быть запущен новый экземпляр EC2, и приложение SAAS может быть развернуто на нем. Балансировщик нагрузки может перенаправить дополнительные вызовы на этот новый экземпляр. Этот подход применим и к среде без EC2.

Функциональность балансировки нагрузки может быть предоставлена ​​самим ESB или с помощью интеграционных фреймворков/аппаратных балансировщиков балансировки нагрузки/программного обеспечения.

Балансировка нагрузки применяется также к базам данных, таким как базы данных, магазины индексов поиска и т. Д. Here - это некоторая информация о настройке базы данных в среде SAAS, а не балансировка нагрузки в частности.

3

Один из способов реализации Арендатором Load Balancer:

  1. Создание нескольких экземпляров приложения - скажем, A, B, C. Каждый со своей собственной базой данных.
  2. Создайте одну мета-базу данных - эта база данных содержит информацию о счетах, входах и т. Д.
  3. Интерфейс входа в систему не установлен. т.е. каждый подключается к одному веб-интерфейсу.
  4. Когда пользователь подписывается, назначьте его одному из экземпляров приложения (A, B или C).
  5. Когда пользователь входит в систему, аутентифицируется в метабазе и затем перенаправляется на конкретный экземпляр.

Так, например:

  1. Войти сайт настроен на www.example.com
  2. экземпляры приложений доступны в a.example.com, b.example.com, c.example. ком
  3. чтобы подписаться, пользователь переходит на www.example.com
  4. для входа в систему пользователь переходит на www.example.com
  5. После успешного входа в систему, пользователь перенаправляется на a.example.com или любой его экземпляр ,

Вот как это делает Salesforce.com. Они имеют разные экземпляры для разных регионов и распределяют их клиентами.

+0

Благодарим вас за ответ и объяснение DK! –