2015-08-25 4 views
2

У меня есть облачная служба на Azure, и на этом облачном сервисе у меня есть 2 VMs. И у меня есть apache, php, mysql, phpmyadmin установлен на обоих. Обе виртуальные машины находятся на одинаковом уровне доступности.Несколько виртуальных машин Azure на одном облачном сервисе

Если мой облачный сервис dns является hello.cloudapp.net и получить доступ к PHPMyAdmin, перейдя в hello.cloudapp.net/phpmyadmin и создать базу данных, которая VM это будет создать базу данных?

ответ

0

Один из двух, в зависимости от того, какой из уравнителей нагрузки решает отправить вас.

Проблема заключается в том, что каждый экземпляр MySQL является локальным для каждой виртуальной машины. Вместо этого вам нужно что-то, что создаст общий контекст данных между двумя экземплярами; MySQL Cluster выглядит многообещающим.

+1

Я пытаюсь отделить веб-уровень и уровень данных. Эти 2 виртуальных машины должны быть моим веб-уровнем. Я планирую создать еще один набор доступности в одной и той же облачной службе, создать там третью виртуальную машину, а затем использовать ее SQL-db. –

+0

@AzfarKashif тогда это тоже сработает, хотя у вас будет одна точка отказа/потенциального узкого места. Но вы можете справиться с этим, когда ваше приложение станет больше. –

+0

Но как я могу убедиться, что моя база данных создана на этой конкретной виртуальной машине? Это проблема, с которой я сталкиваюсь! Единственный способ создать db, о котором я знаю, - через phpmyadmin, и, похоже, на этом нет возможности. –

0

Поскольку набор доступности просто гарантирует, что на ваше приложение не влияют отдельные точки отказа, такие как сетевой коммутатор или блок питания стойки серверов. И у вас есть две одинаковые виртуальные машины в облачной службе, поэтому балансировщик нагрузки может создавать разные данные в этих экземплярах MySQL V. Таким образом, вы должны обрабатывать такие, как синхронизация в MySQL, например MySQL Cluster, как @Ic. сказал.

В качестве другого подхода мы можем создать новую базу данных VM Installed MySQL в новой облачной службе в качестве уровня данных.

В качестве альтернативного подхода вы можете использовать сервис 3-й части, то есть ClaerDB, который стремится заботиться о большинстве этих вещей для вас.