Подход к автомасштабированию с Amazon AWS

Это действительно не имеет значения ли диск ОС или диск данных. В обоих случаях середина диска занята $MFTMirr который копирует жизненные биты Таблицы MFT. Этот файл неперемещаем, даже при том, что Microsoft сделала его доступным для перемещения начиная с Windows XP.

До сих пор я нашел только один инструмент, который может надежно переместить эти файлы: PerfectDisk. Это имеет бесплатную, полностью функциональную, тридцатидневную версию. Это может только переместить эти Метаданные и файлы MFT когда в режиме офлайн: Выберите Время начальной загрузки на его основной вкладке и или перезагрузка или, если это возможно, дефрагментация в режиме офлайн. После этого команда SHRINK работавший как ожидалось.

3
задан 10 May 2012 в 10:38
2 ответа

Проблема в том, что ваши серверы Tomcat (и, скорее всего, ваши рабочие) не знают о сервере RabbitMQ. В этом сценарии вам нужно сделать 1 из 2 действий: (а) Расскажите им о новом сервере, или (b) Сделайте так, чтобы им было все равно

Для (a) выше вы можете уведомить каждый сервер Tomcat и рабочий процесс, когда запускается ваш новый сервер RabbitMQ, или поместить информацию в некоторый список, на который ссылаются другие ваши компоненты.

Однако в этом сценарии, если у вас есть очередь на RabbitMQ # 1, что произойдет с этой очередью, если вы запустите RabbitMQ # 2? В этом случае у вас фактически будет 2 очереди, а не одна очередь, охватывающая 2 сервера. Ваше приложение справляется с этим?

Для пункта (b) выше вы можете взглянуть на RabbitMQ Clustering . Насколько я понимаю, с кластеризацией RabbitMQ узлы могут приходить и уходить, а клиентам все равно.

1
ответ дан 3 December 2019 в 07:36

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

{ «Версия»: «2012-10-17», "Заявление": [ { «Эффект»: «Разрешить», "Действие": [ "автомасштабирование:DescribeAutoScalingInstances", "ec2:Описать экземпляры" ], "Ресурс": [ "*" ] } ] } Теперь мы войдем в один экземпляр и настроим два репозитория: один для установки Erlang, а второй для установки Rabbitmq.

cd /etc/yum.repos.d/ vi rabbit_erlang.repo [rabbitmq_erlang]

name=Repo to install erlang for centos7
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
enabled=1
gpgcheck=0
repo_gpgcheck=1

gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey metadata_expire=300

sslcacert=/etc/pki/tls/certs/ca-bundle.crt

sslverify=1 vi rabbitmq.repo [rabbitmq_erlang]

name=Repo для установки rabbitmq для centos7 baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/enabled= 1 gpgcheck=0

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

yum -q makecache -y --disablerepo='epel*' --enablerepo='rabbitmq*' Как только это будет завершено, мы продолжим и установим пакеты rabbitmq-server, perl-JSON и erlang с помощью команды yum. Убедитесь, что установлена ​​последняя версия

yum install erlang perl-JSON rabbitmq-server -y об/мин -qa | grep кролик mq Теперь у нас есть последний пакет сервера rabbitmq, установленный на инстансах AWS. Мы продолжим поддерживать файл hosts для каждого узла. Чтобы каждый новый узел в существующей группе автоматического масштабирования успешно присоединялся к кластеру, нам нужно найти способ автоматического обнаружения узлов AWS в группе автоматического масштабирования

.
0
ответ дан 20 August 2020 в 23:23

Теги

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