Технический путь распределенных транзакций финансового уровня

Архитектура распределенный

утверждение: Эта статья была опубликована в выпуске 12 Журнала финансовой электроники за 2016 г. Она была опубликована с разрешения. Это оригинальная работа автора. Несанкционированная перепечатка отдельными лицами, СМИ, публичными аккаунтами или веб-сайтами запрещена. Нарушители будут привлечены к ответственности.

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

Наряду с исследованиями Ant Financial в новой финансовой области, техническая команда Ant Financial также развивается в области финансовых технологий и архитектуры. От обработки 1 транзакции в секунду в 2005 году до 85 900 транзакций в секунду на Double Eleven в 2015 году, от одного платежа до покрытия микрокредитов, управления капиталом, страхования, кредита, банковского дела и т. д., благодаря более чем десяти годам исследований и практики. , Мы сформировали полную архитектуру и техническую систему, включающую распределенные транзакции на финансовом уровне, распределенный анализ больших данных и принятие решений и т. д.

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

Ключевые цели систем финансового уровня

Если построение системы сравнить со строительством здания, то построение обычной системы требует четырех столпов: высокая доступность, безопасность, производительность и стоимость. Но чтобы построить здание финансового уровня в эпоху мобильного Интернета, в дополнение к вышеупомянутым четырем опорам, которые должны быть более прочными, необходимо добавить еще две опоры: безопасность капитала и качество данных. Эти шесть столпов являются нашей основной целью при построении каждой системы Ant Financial.

В частности, у нас есть следующие ключевые цели для системы финансового уровня:

Высокая доступность: Высокая доступность более 99,99%. Система устойчива к сбоям в работе различных аппаратных и программных средств, может быть обновлена ​​без прерывания обслуживания, гарантирует обещанное качество обслуживания в сложных сценариях применения и допускает различные человеческие ошибки. Для критически важных систем также требуются возможности удаленного аварийного восстановления.

Безопасность: Он имеет возможность обнаруживать, воспринимать и защищать различные атаки безопасности на нескольких уровнях. Система имеет возможность анализировать поведение системы и поток данных в режиме реального времени и точно находить аномалии, а также может быстро мобилизовать ресурсы для блокирования крупномасштабных и организованных атак, когда это необходимо.

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

Стоимость: Стоимость является важным ограничением для обеспечения высокой доступности, безопасности и производительности. Мы используем среднюю стоимость обработки одной транзакции (общее количество транзакций в месяц/месячная стоимость) и стоимость обработки пиковых транзакций (дополнительная стоимость на 1000 транзакций, увеличение TPS) в качестве двух ключевых показателей для постоянной оптимизации. В дополнение к максимальной оптимизации базового программного и аппаратного обеспечения, а также ключевых связей в системе, гибкое планирование ресурсов и масштабирование по требованию являются ключом к оптимизации затрат.

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

Качество данных: Качество данных является основой качества финансовых услуг. Данные должны проходить через множество ссылок от сбора, генерации, распространения, хранения, расчета и использования. Чтобы гарантировать, что после такого количества ссылок данные по-прежнему будут точными, полными и своевременными, система должна иметь полный контроль качества данных. и возможности управления.

Могут ли системы финансовых транзакций использовать распределенный маршрут? Как достичь вышеуказанных 6 ключевых целей на основе распределенных идей и технологий? Далее мы поделимся своим мнением по этому вопросу, исходя из практики Ant Financial.

Архитектура и технология распределенных финансовых транзакций

1 Строго согласованные микросервисы: архитектура микротранзакций

Микросервисы — это широко используемая распределенная архитектура. Разбивая систему на «микро» сервисы с единой ответственностью, высокой связностью, слабой связью, независимым развертыванием и автономной работой, можно значительно улучшить гибкость и масштабируемость системы. Однако, поскольку каждый микросервис представляет собой автономную единицу данных и вычислений, когда транзакция со строгими требованиями согласованности распределяется и выполняется на многих узлах, становится проблемой, как обеспечить строгую согласованность обработки данных и услуг для достижения финансового уровня. Хотя база данных или ПО промежуточного слоя данных, поддерживающее распределенные транзакции, могут использоваться для обеспечения согласованности распределения данных, они не могут решить проблему согласованности при распределении сервисов. Распределенные транзакции блокируют ресурсы на длительное время и имеют большую степень детализации, что также ограничивает масштабируемость и высокую доступность системы.

Чтобы решить эту проблему, мы предлагаем архитектуру микротранзакций, которая делает микросервисы строго согласованными. В этой архитектуре микросервисы, участвующие в транзакционных операциях, обладают транзакционными свойствами. Микротранзакция предоставляет три операции TCC (Try-Confirm-Cancel), в которых операция Try отвечает за бизнес-проверку и резервирование ресурсов, операция Confirm отвечает за фактическую операцию, а операция Cancel отвечает за освобождение зарезервированных ресурсов. Полная транзакция состоит из серии микротранзакций Try. Если все Try операции выполнены успешно, инфраструктура микротранзакций, наконец, унифицирует Confirm, в противном случае унифицирует Cancel, тем самым достигая строгой согласованности, аналогичной классическому протоколу двухэтапной фиксации ( 2ПК).пол. Но в отличие от 2PC, архитектура микротранзакций стремится быть эффективной и масштабируемой. Три операции TCC представляют собой короткие транзакции, основанные на локальных транзакциях.Операция Try резервирует только необходимые бизнес-ресурсы.Например, если транзакция включает 10 юаней, только 10 юаней в учетной записи резервируются вместо блокировки всей учетной записи.Протокол TCC Там также отсутствует отдельная фаза подготовки во время фиксации, что сводит к минимуму стоимость фиксации соглашения.

С момента своего запуска в начале 2008 года архитектура микротранзакций применялась к различным финансовым бизнес-сценариям Ant Financial и прошла испытания в ходе предыдущих крупных рекламных акций, доказав осуществимость этой архитектуры и технологии.

2 Раздатая база данных финансово-класса: Oceanbase

В настоящее время основные коммерческие базы данных представляют собой в основном автономные системы, емкость, производительность и надежность которых зависят от комбинации одного или нескольких высокопроизводительных серверов и высоконадежного хранилища, которые являются дорогостоящими и труднорасширяемыми. Хотя с помощью архитектуры микротранзакций нагрузка на операции с данными может быть разделена на несколько баз данных, и проблема горизонтальной масштабируемости может быть решена, производительность, стоимость и надежность самой базы данных по-прежнему остаются проблемой. Поэтому с 2010 года Alibaba и Ant Financial приступили к разработке специализированной распределенной базы данных финансового уровня OceanBase.

OceanBase совершил прорыв в традиционной архитектуре базы данных в следующих аспектах:

высокая производительность: Примечательной особенностью базы данных является то, что общий объем данных относительно велик, но данные, которые меняются (добавляются, удаляются и модифицируются) каждый день, составляют лишь малую часть от общего объема данных. Поэтому OceanBase делит данные на исходные данные и приращения модификации. Базовые данные — это моментальный снимок базы данных в определенный момент времени, который хранится на жестком диске каждого сервера Ocean Base.Приращение модификации — это добавление, удаление и изменение данных после точки моментального снимка, которая относительно невелика и составляет обычно хранится в памяти каждого сервера Ocean Base. Таким образом, операции добавления, удаления и изменения в основном выполняются в памяти, чтобы получить производительность обработки транзакций, близкую к базе данных в памяти;

сильное согласие: сложно одновременно обеспечить высокую доступность и строгую согласованность с классической основной базой данных + резервной базой данных. Чтобы решить эту проблему, OceanBase использует протокол голосования с несколькими репликами данных (> = 3. Для каждой транзакции записи OceanBase отвечает клиентам только после того, как журнал транзакций (журнал повторов) достигает более половины серверов. Таким образом, когда несколько серверов (например, 1 из 3 или 2 из 5) неисправны, по крайней мере на одном из оставшихся серверов есть журнал транзакций, что гарантирует, что база данных не потеряет данные из-за сбоя несколько серверов;

Высокая доступность: Критически важные для бизнеса базы данных должны быть доступны на уровне 99,999%, и никакие сбои сервера, компьютерного зала или сбоя сети не могут привести к недоступности базы данных. OceanBase обычно состоит из кластеров, распределенных по нескольким компьютерным комнатам (3 и более), каждый кластер имеет полные данные, один кластер служит основной базой данных для предоставления внешних услуг чтения и записи, а другие кластеры служат резервными базами данных для получения журналов транзакций и данные из основной базы данных Воспроизвести журнал. В случае сбоя основной базы данных оставшиеся кластеры автоматически инициируют голосование для выбора новой основной базы данных.Новая основная база данных получает последние журналы транзакций, которые могут существовать из других кластеров, и воспроизводит их, а после завершения предоставляет внешние службы.

В настоящее время OceanBase стабильно поддерживает основные транзакции, платежи и учет Alipay, а также основную систему MYbank.Он прошел множество тестов «Double Eleven» и сформировал архитектуру высокой доступности, которая развертывается в компьютерных залах и регионах. , И это сыграло важную роль в повседневной работе, аварийных учениях и переключении аварийного восстановления.

3 Удаленное многозадачное и аварийное восстановление: унифицированная архитектура

«Два места и три центра» — это режим расширения межрегионального центра обработки данных и межрегионального аварийного восстановления, широко используемый в финансовых системах, но есть и некоторые проблемы: с точки зрения возможности расширения, поскольку межрегиональный центр резервного копирования не нести основной бизнес, он не может решить проблему межрегионального расширения основного бизнеса; с точки зрения стоимости система аварийного восстановления используется только во время аварийного восстановления, коэффициент использования ресурсов низкий, а стоимость высокая; с точки зрения возможность аварийного восстановления из-за холодного резерва системы аварийного восстановления, низкой доступности и высокого риска переключения.

Поэтому Ant Financial выбрала не модель развертывания «два места и три центра», а реализовала удаленную модель многозадачности и аварийного восстановления. Основой удаленной многоактивной архитектуры и архитектуры аварийного восстановления является объединение системы. Каждую единицу можно рассматривать как уменьшенную полнофункциональную систему, включающую шлюзы доступа, службы приложений и хранилище данных. Каждый блок отвечает за определенный процент данных и доступа пользователей. Устройство имеет следующие основные характеристики:

автономный: например, для транзакции пополнения счета пользователя все расчеты и необходимые данные выполняются в одном блоке;

Слабая связь: между устройствами можно делать только сервисные вызовы, а к базам данных или другому хранилищу нельзя получить прямой доступ. Для некоторых транзакций, которые должны обрабатываться между подразделениями, например транзакций передачи между пользователями, принадлежащими к двум разным подразделениям, количество вызовов службы между подразделениями должно быть как можно меньше, и они должны обрабатываться асинхронно, насколько это позволяют бизнес и пользовательский опыт. . Таким образом, даже если два устройства разделены тысячами километров, можно допустить задержку доступа между устройствами;

независимость от отказа: неисправность в одном блоке не распространяется на другие блоки;

Устойчивость к стихийным бедствиям: юниты дублируют друг друга, чтобы гарантировать, что у каждого юнита есть юнит, который может взять на себя управление во время сбоя в одном и том же городе и в разных местах. Что касается метода резервного копирования данных между подразделениями, мы в основном ориентируемся на решение с высокой согласованностью для нескольких местоположений и нескольких центров, предоставляемое Ocean Base.

Благодаря унифицированной архитектуре крупномасштабная система может быть разделена на множество относительно независимых небольших систем, и каждая модульная система может быть развернута в центре обработки данных в любом регионе, что позволяет реализовать гибкую модель развертывания с несколькими центрами обработки данных в разных местах. . Основным режимом масштабирования системы становится увеличение или уменьшение единиц, но внутренний масштаб и сложность единицы остаются неизменными, уменьшая сложность системы. Изоляция неисправностей между устройствами снижает влияние сбоев программного и аппаратного обеспечения. «Живое» устройство и возможность быстрого переключения между устройствами делают процесс аварийного восстановления в одном и том же городе и в разных местах проще и эффективнее.

В настоящее время базовая система Ant Financial распределена по нескольким центрам обработки данных в Шанхае, Шэньчжэне, Ханчжоу и других городах, а трафик основных транзакций распределяется в каждом центре обработки данных, и его можно планировать и переключать. Благодаря множеству действий в разных местах система может быть произвольно расширена по всей стране, а ресурсы сервера полностью использованы, что повышает способность системы справляться с региональными бедствиями.

4 Масштабирование по требованию: эластичная гибридная облачная архитектура

Каждый год системе Alipay приходится иметь дело с чрезвычайно большим объемом транзакций таких событий, как Double Eleven и красные конверты китайского Нового года. Хотя унифицированная архитектура дает нам возможность справляться с пиковыми нагрузками, чтобы сократить затраты ресурсов в периоды пиковой нагрузки, система также должна иметь возможность масштабирования по требованию.

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

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

Эластичная гибридная облачная архитектура и технология имеют следующие ключевые моменты на практике:

1. Через единое планирование ресурсов, гибко применяются и выделяют вычисление, хранение и сетевые ресурсы, создание единиц и быстро развертывают базы данных, промежуточное программное обеспечение и приложения;

2. Через промежуточное ПО приложение и инфраструктура полностью развязаны, независимо от того, как распределяются трафик, данные и ресурсы, систему приложений не нужно менять;

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

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

Основываясь на гибкой гибридной облачной архитектуре, в 2015 году в Double Eleven 10% платежного трафика Alipay проходило на платформе облачных вычислений Alibaba. В Double Eleven в 2016 году мы планируем перевести 50% пикового платежного трафика на платформу облачных вычислений Alibaba, что позволит значительно оптимизировать расходы.

Будущие перспективы и ожидания

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

В будущем Ant Financial продолжит разработку и развитие распределенной архитектуры и технологий финансового уровня. В этой области мы предлагаем себе два новых основных предложения:

1. Как обрабатывать 100 миллионов транзакций в секунду. В эпоху Интернета всего повсеместные терминалы транзакций и бесчисленное количество новых сценариев транзакций будут и впредь приводить к экспоненциальному росту объема финансовых транзакций. Какая архитектура и технологии могут обрабатывать огромное количество транзакций в эпоху Интернета всего, необходимо принимать меры предосторожности для преодоления трудностей и прорывов;

2. Превратите распределенную архитектуру и технологии финансового уровня в «инклюзивные» сервисы облачных вычислений, обслуживающие тысячи финансовых учреждений. Для достижения этой цели Ant Financial и Alibaba Cloud совместно предложили «План Mayun» по совместному созданию финансовой облачной платформы нового поколения, обслуживанию 50 000 финансовых учреждений по всему миру в будущем и совместному созданию глобального инклюзивного финансирования.

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

Официальная учетная запись: распределенная архитектура финансового уровня (Antfin_SOFA)