Проект удаленной многоактивной архитектуры высокой доступности

Архитектура
Проект удаленной многоактивной архитектуры высокой доступности

Как построить удаленную мультиактивность приложения?

резюме

При стремительном развитии бизнеса для многих компаний техническая архитектура, выстроенная в одном регионе, столкнется с различными проблемами, такими как: ограниченная инфраструктура ограничивает масштабируемость бизнеса; сбои на уровне машинного зала и города; стихийные бедствия, влияющие на устойчивость услуг.

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

Жизнь в разных местах была горячей темой в последние годы, так когда же вам нужно делать это в реальном бизнесе? Как это сделать? Что нужно учитывать при этом?

Когда это делать?

Личное ощущение зависит от следующих аспектов:

  • развитие бизнеса
  • состояние инфраструктуры
  • Накопление технологий

Как сделать?

В настоящее время поиск удаленных мультиактивных решений в Интернете в основном является практикой интернет-компаний Alibaba, Ele.me, JD.com, Weibo и др. Решения этих крупных компаний имеют одну общую черту: большое количество самостоятельно разработанные компоненты, Чтобы сделать связанную синхронизацию данных, бизнес-сегментацию и т. д., тогда для многих традиционных предприятий или относительно небольших предприятий, как это должно быть сделано?

  • Подходящие общедоступные облачные сервисы в зависимости от бизнес-характеристик

При этом на что следует обратить внимание?

  • Каким компаниям действительно нужно больше работать в разных местах?
  • Как инфраструктура?
  • Какова терпимость к недоступному времени?

бизнес фон

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

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

Деловой кардинг

С общей точки зрения пользовательский центр в основном предоставляет такие услуги, как регистрация, вход в систему и запрос информации о пользователе. Эти услуги имеют следующие характеристики:

  • Логин имеет наивысший приоритет
  • низкие требования к транзакциям

Задействованные государственные компоненты в основном включают:

  • MySQL: хранилище пользовательских данных
  • Redis: хранение кода авторизации, кода подтверждения SMS, блокировки учетной записи, токена доступа и т. д.
  • Zookeeper: зависимость Даббо

план

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

Цель

Цель этапа 1

В случае сбоя компьютерного зала в Пекине трафик может быть переключен на компьютерный зал в Циндао в течение определенного периода времени, чтобы обеспечить базовую доступность основных услуг пользовательского центра.

Цели второго этапа

Пользовательский центр реализует высокую доступность за счет нескольких действий в разных местах (требуется групповая интеллектуальная поддержка DNS).

Архитектурный дизайн

Структура первой фазы

В случае сбоя компьютерного зала в Пекине трафик можно быстро переключить на сторону Циндао, чтобы обеспечить доступность основных служб пользовательского центра.

Конкретные планы таковы:

  • Основные бизнес-данные компьютерного зала в Пекине синхронизируются с компьютерным залом в Циндао почти в реальном времени через otter.
  • Промежуточное ПО, такое как Redis и ZooKeeper, развернуто в компьютерном зале Циндао.
  • Основное приложение пользовательского центра развернуто в компьютерном зале Циндао (экземпляр развернут и работает нормально, но в обычное время доступ отсутствует).

Конкретная структура выглядит следующим образом:

Эффект, которого можно достичь:

  • В случае сбоя компьютерного зала в Пекине трафик может быть переключен на компьютерный зал в Циндао в течение определенного периода времени, чтобы обеспечить базовую доступность основных служб пользовательского центра, но в это время вошедшие в систему пользователи должны войти в систему. снова.
  • Определенное время: это зависит от времени изменения IP-адреса DNS + времени TTL DNS.В настоящее время TTL составляет 10 минут, а ручное изменение IP-адреса должно быть очень быстрым, поэтому определенное время составляет 10-20 минут.

Недостатки:

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

Структура второй фазы

Целью второго этапа является исправление недостатков первого этапа архитектуры и достижение высокой доступности за счет нескольких действий в разных местах.

Компьютерный зал в Циндао на втором этапе будет заменен компьютерным залом Alibaba Cloud.

Конкретные планы таковы:

  • Через службу Alibaba Cloud DTS базы данных двух компьютерных залов синхронизируются, чтобы обеспечить согласованность данных в Пекине и Alibaba Cloud практически в режиме реального времени.
  • Компьютерные классы Beijing и Alibaba Cloud предоставляют онлайн-услуги для повышения эффективности использования ресурсов.
  • Определите приоритеты обслуживания, измените код приложения и ухудшите качество службы поддержки.
  • При выходе из строя компьютерного зала (Alibaba Cloud или Beijing) трафик переключается на другой компьютерный зал через службу DNS.
    • Если при развертывании в двух местах нет избыточных аппаратных ресурсов, необходимо реализовать переход на более раннюю версию службы.
    • В настоящее время групповое разрешение DNS не может обеспечить функцию автоматического определения доступности службы, поэтому оно не может автоматически переключаться.
      • Доступность услуги можно контролировать с помощью нашего теста многоточечного набора.Если тест многоточечного набора недоступен, соответствующее уведомление отправляется соответствующему персоналу для ручного вмешательства.
      • Существует два типа аварийных сигналов для проверки многоточечного набора: 1. Когда точка проверки набора номера недоступна 2. Когда все точки проверки набора номера недоступны.
    • В настоящее время групповое разрешение DNS, самое короткое время для вступления в силу TTL составляет 10 минут, и время TTL нельзя настроить.

Конкретная структура выглядит следующим образом:

Эффект, которого можно достичь:

  • Если групповой DNS может быть предоставлен, он аналогичен функции мониторинга веб-сайта Alibaba Cloud DNS и может гибко устанавливать время TTL.В это время, когда компьютерный зал в Пекине или компьютерный зал Alibaba Cloud выходит из строя, он может быть автоматически в течение очень короткий период времени (максимальное нештатное время некоторых сервисов) Выполнить переключение потока.

Это всего лишь пример облачного анализа Alibaba Cloud, если он может предоставлять аналогичные услуги.

  • Если групповой DNS не может предоставить функции, аналогичные Alibaba Cloud DNS, для мониторинга веб-сайтов и гибкой настройки времени TTL, максимальное нештатное время некоторых сервисов по-прежнему зависит от IP-времени модификации DNS + времени TTL DNS.

Глоссарий

Что такое мониторинг сайта?

Обнаружение HTTP/HTTPS в реальном времени записей разрешения доменных имен, поддержка настраиваемых портов, обнаружение простоев в реальном времени и немедленная тревога; Распределенный мониторинг всей сети, имитирующий реальные запросы клиента в различных регионах Китая, а результаты мониторинга достоверны и достоверны; Поддержите приостановку простоя, переключение аварийного восстановления и максимально устраните прерывание обслуживания для вашего бизнеса; Переключение аварийного восстановления поддерживает записи A и доменные имена CNAME для удовлетворения требований переключения аварийного восстановления различных сценариев;

При каких обстоятельствах монитор веб-сайта определит, что он не работает, и отправит оповещение?

В результатах мониторинга только в том случае, если код возврата HTTP/HTTPS больше 500, будет уведомлено об ошибке сервера. Пример: если установлены четыре точки обнаружения: Beijing Unicom, Shenzhen Alibaba, Shanghai Telecom и Chongqing Unicom. Сценарий 1: только когда 50% точек мониторинга в четырех точках обнаружения не могут получить ответ от вашего сервера или когда 50% точек мониторинга получают код возврата больше или равный 500, ваш веб-сайт будет считаться недействительным. вниз. Сценарий 2. Если более 50 % из четырех точек обнаружения обнаружат, что код возврата вашего веб-сайта меньше 500, ваш веб-сайт не будет считаться недоступным.

Облачный DNS DNS «Управление трафиком»

Облачный DNS «Управление трафиком» может опрашивать и возвращать результаты разрешения в соответствии с коэффициентом веса для каждой установленной вами строки разрешения. Когда IP-адрес под линией не работает, он может быть автоматически обнаружен с помощью мониторинга, и отключенный IP-адрес будет удален из текущей линии до тех пор, пока IP-адрес мониторинга не станет нормальным, и разрешение не будет возобновлено. В то же время, когда все IP-адреса в строке синтаксического анализа не работают, вы можете переключиться на другие обычные линии. Максимально обеспечьте высокую доступность сервисов вашего сайта и сократите потери.

Максимальное аварийное время некоторых услуг

Например, если в компьютерном зале Пекина возникает исключение, трафик, направляемый в компьютерный зал Alibaba Cloud, может быть доступен в обычном режиме, но только трафик, пересылаемый в компьютерный зал Пекина, является ненормальным.

В настоящее время, если вы используете мониторинг веб-сайта или аналогичные службы для мониторинга и устанавливаете интервал проверки набора номера на 1 минуту, а эффективное время TTL на 1 секунду, тогда будет максимум 60 + 1 секунд ненормального времени службы. , а затем DNS автоматически изменит ip пекинского компьютерного зала, он автоматически запустится, и весь трафик перенаправится на Alibaba Cloud.

Пополнить

  1. Реализация первого и второго этапов плана сильно зависит от службы DNS группы.

  2. Для услуг, предоставляемых пользовательским центром через ip, в случае сбоя на уровне компьютерного зала первый этап и план второго этапа не могут гарантировать доступность этой части услуги.

  3. На самом деле, помимо решения DNS, есть еще одно решение, которое использует устройство типа F5 для загрузки между машинными залами, но оно должно быть gslb, и оба конца должны быть одним и тем же устройством.

резюме

Для компаний, не являющихся интернет-компаниями первого уровня, необходимо использовать общедоступное облако при реализации удаленного аварийного восстановления, например:

  • Для синхронизации данных в компьютерных залах вы можете использовать службу DTS (служба передачи данных) Alibaba Cloud.В настоящее время DTS поддерживает передачу данных между источниками данных, такими как реляционные базы данных, NoSQL и большие данные (OLAP). Это служба передачи данных, которая объединяет миграцию данных, подписку на данные и синхронизацию данных в реальном времени.

  • Для распределенных баз данных по компьютерным комнатам можно использовать OceanBase. Финансовая среда обычно предъявляет более высокие требования к надежности данных.Каждый раз, когда OceanBase отправляет транзакцию, соответствующие журналы всегда синхронизируются в нескольких центрах обработки данных в режиме реального времени и сохраняются. Даже в случае сбоя на уровне центра обработки данных каждую завершенную транзакцию всегда можно восстановить в других центрах обработки данных, что соответствует истинным требованиям надежности финансового уровня.
  • Поскольку бизнес, инфраструктура и задачи, которые необходимо решить у каждой компании, разные, хорошо выбрать ту, которая подходит именно вам.
  • Или напрямую используйте ApsaraDB для RDS для MySQL

Личный публичный аккаунт WeChat:

Персональный гитхаб:

github.com/jiankunking

личный блог:

jiankunking.com