Рекомендации AWS

В этом разделе приведены рекомендации по использованию OPDK с облаком AWS.

Cassandra используется в качестве серверной части и хранилища данных почти для всех правил и является критически важной частью среды выполнения Apigee Edge. В этом документе рассматривается оптимизация Cassandra для среды AWS.

Требования к хранилищу и вводу-выводу

Большинство операций ввода-вывода Cassandra являются последовательными, но в некоторых случаях требуется произвольный ввод-вывод. Например, при чтении таблиц отсортированных строк во время операций чтения. Для Cassandra рекомендуется использовать SSD, поскольку они обеспечивают крайне низкую задержку при операциях произвольного чтения и достаточную производительность последовательной записи для операций сжатия. Здесь также учитывается репликация.

Многие экземпляры в AWS EC2 поставляются с локальным хранилищем, в котором жесткий диск физически подключен к оборудованию, на котором размещен экземпляр EC2. Apigee рекомендует использовать как SSD, так и хранилища экземпляров при запуске Cassandra в рабочей среде. Если вы используете тип экземпляра с несколькими SSD, то можете применить RAID0, чтобы увеличить пропускную способность и емкость хранилища.

Требования к сети

Cassandra использует протокол Gossip для обмена информацией о топологии сети с другими узлами. Использование Gossip и распределенный характер Cassandra, который включает в себя обращение к нескольким узлам для операций чтения и записи, приводит к передаче большого объема данных по сети. Apigee рекомендует использовать тип экземпляра с пропускной способностью сети не менее 1 Гбит/с и более 1 Гбит/с для производственных систем.

Использовать VPC с CIDR /16. Поскольку подсети в AWS не могут охватывать более одной зоны доступности, Apigee рекомендует следующее:

  • Создайте по одной подсети для каждой зоны доступности.
  • Используйте три частные подсети для установки Apigee с одним узлом Cassandra в каждой зоне доступности. В трех подсетях должно быть достаточно блоков CIDR, чтобы обеспечить горизонтальное расширение кластера Cassandra.
  • Настройте три общедоступные подсети с выделенным NAT, чтобы Cassandra могла подключаться к интернету для скачивания ПО и обновлений системы безопасности.

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

Как выбрать семейство экземпляров

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

Apigee рекомендует использовать семейство экземпляров, в котором сбалансированы ЦП и память. В частности, мы рекомендуем использовать экземпляры семейства C5, если они доступны в вашем регионе AWS, и C3 в качестве резервного варианта. В некоторых случаях 4xlarge – оптимальный экземпляр в обоих семействах, обеспечивающий наилучшее соотношение цены и производительности.

Apigee также рекомендует использовать аренду по умолчанию для экземпляров Cassandra. Если вы масштабируете до более чем 1 экземпляра на AZ, скорее всего, все ваши экземпляры Cassandra будут размещены на одном и том же базовом оборудовании, если вы установите выделенную аренду. Поэтому при сбое оборудования вы, скорее всего, потеряете все свои экземпляры в этой зоне доступности.

Сводка рекомендаций

В таблице ниже приведены рекомендации Apigee по использованию AWS с Apigee Edge для частного облака.

Семейство экземпляров C5d (рекомендуется) или C3
Тип экземпляра C(x).4xlarge
Хранилище экземпляров SSD (локальное хранилище) с RAID0
Тип аренды по умолчанию
Размещение узлов 1 узел Cassandra на зону доступности
VPC и подсеть Одна подсеть на зону доступности и одна VPC на регион

Подробнее о типах экземпляров Amazon…