Балансировка нагрузки и переключение при отказе с SQL 2016 и IIS на AWS

Прошу прощения, если этот вопрос слишком общий, но мне просто нужна была проверка работоспособности для настройки, которую я планировал.

Прямо сейчас у меня есть приложение, работающее на сервере AWS, с SQL и IIS, установленными на одном сервере с 4 ГБ ОЗУ. Ничего особенного, и мы, кажется, можем комфортно обрабатывать около 100 одновременных пользователей.

Я ищу возможность масштабирования до 1000 одновременных пользователей, а также ввести некоторое аварийное восстановление. Схема, которую я рассматриваю (все в AWS, заметьте), приведена ниже:

  • IIS1: сервер IIS, работающий под управлением Windows 2016, настроенный в веб-ферме
  • IIS2: сервер IIS, работающий под управлением Windows 2016, настроенный в веб-ферме
  • SQL1: SQL-сервер, работающий под управлением Windows 2016 и SQL 2016, настроенный с Always on Availability в качестве основного
  • SQL2: Сервер SQL, работающий под управлением Windows 2016 и SQL 2016, настроенный с Always on Availability в качестве нечитаемого вторичного сервера (для отработки отказа)
  • SQL3: SQL-сервер, работающий под управлением Windows 2016 и SQL 2016, настроенный с Always on Availability в качестве читаемого вторичного сервера (для загрузки балансировка)
  • DC Это просто общий контроллер домена, который поддерживает связь всех связанных серверов. На этом сервере, возможно, также может быть установлена ​​балансировка нагрузки IIS, или, может быть, у меня просто будет третий сервер IIS, чтобы делать это отдельно.

Требуется увеличить объем оперативной памяти SQL-серверов до 16 ГБ и, возможно, аналогичные настройки для IIS серверы тоже. Не ожидаю большого трафика на DC, если только это не балансировщик нагрузки веб-фермы.

Итак, мой главный вопрос: эта установка кажется разумной? Мне не хватает чего-нибудь, что я должен добавить? Я частично считаю, что, если этого окажется недостаточно, я могу либо добавить в ферму еще один сервер IIS, либо аналогичный серверу SQL, в зависимости от того, где я найду свое узкое место. Приветствуются любые мысли.

0
задан 2 February 2018 в 19:40
1 ответ

Эта установка SQL Server стоит немного дороже. Поскольку вам нужно 3 участника в группе доступности и вы хотите передать операции чтения второстепенному, это означает, что вам нужно будет лицензировать как минимум 2 из них с SQL Server Enterprise Edition.

Я бы пояснил, как такая установка будет дорогой, а затем обсудите с руководством ваши цели RPO и RTO . (Отказ от ответственности:в моем сообщении в блоге по этой теме.)

Если вы посмотрите на ежемесячные затраты на эти SQL-серверы, что-то более простое, например, Amazon RDS SQL Server, может иметь больше смысла - особенно если вам действительно не нужно переносить чтение в вторичный сервер.

1
ответ дан 4 December 2019 в 16:02

Теги

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