Лучшие практики AWS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Краткое описание рекомендаций

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

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

Дополнительную информацию см. в разделе Типы инстансов Amazon .