Набор доступности Azure Extra Small VM

Набор доступности Azure Extra Small VM

Мой текущий extra small vm достигает пределов, поэтому я решил создать второй extra small экземпляр и добавить их в набор доступности, чтобы мой сервис был доступен всегда, а через балансировщик нагрузки также балансировалась нагрузка. Мой вопрос: что будет с данными? Они будут одинаковыми на обоих? Потому что мне нужны одни и те же данные, доступные на обоих! Например:

Запрос1 -> vm1 -> добавляет данные Запрос2 -> vm2 -> требуется прочитать данные, которые были изначально помещены на vm1

Или еще проще: если я запустил блог на WordPress и добавил блог, он должен быть доступен на обоих!

Мичи

решение1

Каждая виртуальная машина поддерживается собственным vhd, который находится в Page Blob в Azure Storage. Это не лучшее место для хранения любого типа контента, который должен быть общим для нескольких экземпляров (и состояние сеанса в процессе также будет ограничено запущенным экземпляром этой виртуальной машины). Вам необходимо хранить состояние сеанса и любые другие сохраняемые данные в общем месте, доступном для обеих виртуальных машин, но ненетхранить контент непосредственно на основном диске VHD или на временном диске.

Для состояния сеанса вы можете легко настроить базу данных Windows Azure SQL (по сути, sql-as-a-service) и использовать ее в качестве поставщика состояния сеанса. Или вы можете запустить memcached, использовать Table Storage или выбрать что-то совершенно другое — я оставлю другие идеи вашему воображению.

То же самое касается и запуска WordPress — контент должен находиться в общем хранилище данных. Поскольку WordPress использует MySQL, вы можете настроить MySQL в независимом экземпляре виртуальной машины или подписаться на базу данных MySQL через Azure Store.

Еще один вариант — хранить контент в хранилище Blob, которое полностью независимо от любых созданных вами виртуальных машин и к которому очень легко получить доступ. Хранилище Blob, как и хранилище таблиц, имеет отличную поддержку языкового SDK, построенного на основе REST API (в настоящее время SDK .net, php, java, python, node и ruby). Вы можете получить SDK по вашему выбору из Azureскачатьстраницу. Вы также можете просмотреть исходный код, врепозиторий github.

Связанный контент