Используя Amazon EC2 для хостинга приложения Asp.net

К сожалению, нет никакого действительно простого решения. Можно попробовать что-то как этот:

Stream s1, s2;
byte[] buffer = new byte[4096];
int bytesRead = 0;
while (bytesRead = s1.Read(buffer, 0, buffer.Length) > 0) s2.Write(buffer, 0, bytesRead);
s1.Close(); s2.Close();

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

Всегда проверяют документацию определенного потокового класса, который Вы используете перед использованием универсального решения.

23
задан Alex 8 July 2009 в 14:34
поделиться

1 ответ

Пока держите их все в одном экземпляре, не оптимизируйте / масштабируйте преждевременно. Возможно, вы обнаружите, что простого обновления до экземпляра со средним ЦП (36 центов в час вместо 12 центов в час) будет достаточно, чтобы вы могли работать в течение нескольких месяцев без каких-либо проблем с масштабированием.

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

Стоит отметить одну вещь: если вы не можете выполнить обновление со среднего ЦП до высокого, cpu, потому что 32-битные образы ОС не будут работать на больших экземплярах, а 64-битные не будут работать на меньших.

Выберите 32-битную Windows (поскольку EC2 использует это для меньших и средних экземпляров), запустите на единичном экземпляре меньшего размера, а затем при необходимости увеличивать масштаб.

Что касается EBS - я ' d порекомендовать создать том здорового размера, который поможет вам некоторое время, и настроить SQLServer для хранения своих данных там.

Вы также можете хранить свое приложение ASP.NET на томе EBS, но диск ОС экземпляра 10 ГБ может ладно, я не думаю, что здесь есть большая разница.

Я настоятельно рекомендую использовать эластичный IP-адрес, а не временный IP-адрес, который EC2 назначает вам при запуске экземпляра. Создайте эластичный IP-адрес, обновите свой DNS, чтобы он указывал на него, и свяжите его с вашим экземпляром.

После того, как ваш образ настроен так, как вы хотите, выключите его, объедините экземпляр и затем зарегистрируйте для него новый AMI (конфиденциально) . Это займет около 40 минут. Это означает, что если с вашим экземпляром случится что-то ужасное, вы сможете восстановить его в течение 15 минут, выполнив следующие действия:

  1. Отключите том EBS
  2. Отключите эластичный IP-адрес
  3. Завершите работу неисправного экземпляра
  4. Запустите экземпляр AMI
  5. Подключите том EBS к новому экземпляру
  6. Свяжите свой эластичный IP-адрес с новый экземпляр
26
ответ дан 29 November 2019 в 02:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: