HeadlinesBriefing favicon HeadlinesBriefing.com

Архитектура обработки платежей в масштабе American Express

ByteByteGo •
×

Архитектура обработки платежей в масштабе American Express

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

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

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

В 2018 году American Express начала модернизировать эту платформу на облачную инфраструктуру. Сразу стало ясно, что одно предположение должно измениться. В то время как старые системы работали на оборудовании, предназначенном для непрерывной работы, облачная инфраструктура вела себя иначе. Окончательно выбранный дизайн был обусловлен десятилетиями внутренних размышлений. Бен отметил, что в эпоху SOA эти паттерны существовали еще до того, как был введен более формальный термин «ячеистая архитектура». В ячеистой архитектуре ячейка представляет собой полную самодостаточную копию стека обработки платежей, включая микросервисы, базы данных и DNS.

Ключевые сущности: Компании: American Express | Люди: Бен Кейн

Часто задаваемые вопросы:

В: Как American Express обеспечивает надежность обработки платежей в масштабе?

О: American Express использует ячеистую архитектуру, где каждая ячейка является полной самодостаточной копией стека обработки платежей, включая микросервисы, базы данных и DNS. Этот дизайн изолирует сбои, поэтому если один сервис выходит из строя, влияние ограничивается этой ячейкой, что позволяет быстро обрабатывать платежи без сбоев во всей системе.