SlideShare une entreprise Scribd logo
1  sur  28
Платежная система
    Деньги@Mail.Ru
простые решения сложных вопросов

                                   2
Что такое ДМР?
• Платежи между пользователями и в магазины
• Пластиковые карты
• API и мобильные приложения
• Квази-валюты




                                              3
Проблемы в ПС
Типичные проблемы HighLoad
• высокая доступность и отказоустойчивость
• обработка больших объемов данных / запросов

Нетипичные проблемы
• любая ошибка — очень дорого
• безопасность — наше всѐ
• внешний мир — такой внешний
                                                4
Учимся считать
Финансовая математика




Математика с плавающей точкой
2×2       =4
2.0 × 2.0 = ?
                                5
Безопасность в ПС
Типичные уязвимости
В сети:
• перехват трафика
На сервере:
• SQL-инъекции
• 0-строки и раскрытие данных
На клиенте:
• XSS
• XSRF
Безопасность в ПС
Шифрование данных
При передаче:
• https-соединение
• cookies со спец-флагами

При хранении:
• можно шифровать данные в БД
• можно шифровать диски
• данные отдельно, ключи отдельно   7
Безопасность в ПС
Обработка данных
SQL-инъекции?
  • хранимые процедуры и связанные переменные
XSS?
  • шаблонизаторы и экранирование переменных
XSRF?
  • подпись форм и ссылок
                                               8
Интеграция
Проблема:
• Многообразие протоколов
• Многообразие алгоритмов
• Чрезмерная паранойя

Решение:
• Унификация — хотя бы свои делайте одинаково
• Простота — чем проще вы, тем проще вам
• Совместимость
                                                9
Где Rocket Science?
            Масштабируемость




         Скорость      Надежность
                                    10
Где Rocket Science?
                  Платежная система —
                  это не Rocket Science…




                        …но есть нюанс ©
                                           11
Хранилище данных
Проблема:
Масштабируемость — scale-up или scale-out?

Выбор технологии:
•Промышленные СУБД?
•Open-source?
•NoSQL?
С этим выбором жить долго:
платежные системы консервативны
Хранилище данных
Решение:




• Данные — в сотнях узлов одинаковой структуры
• Каждый пользователь — в своем узле
• Работа с данными — через хранимые процедуры 13
Хранилище данных
Почему?
• Данные слабосвязаны, разных типов мало
• Многие данные не меняются
  • Можно забыть про нормализацию
  • JSON рулит. Разница — всего 34.8%. Жалко? Можно и 20.5%
• Дублируем, если нужно
• Безопасность + меньше сетевые издержки
Хранилище данных




Технологии:
MySQL 5.x + хранимые процедуры
                                 15
Хранилище данных
Транзакции
классика жанра…
start transaction;

UPDATE account SET balance = balance + :amount
      WHERE uid = :user1;
UPDATE account SET balance = balance - :amount
      WHERE uid = :user2;

commit;
…не работает!                                    16
Хранилище данных
Требования:
• Гарантированная доставка
• Отсутствие дублей
• И снова масштабирование




                             17
Хранилище данных
Требования:
• Гарантированная доставка
• Отсутствие дублей
• И снова масштабирование
Решение:
• Упрощение 2PC
• Журналы транзакций
                             18
Хранилище данных
Распределенные транзакции
Этапы:
• списание на транзитный счѐт
• передача между узлами
• зачисление на счѐт получателя



                                  19
Хранилище данных
Распределенные транзакции
                        В узлах:
                        ACID + скорость

                        Координатор:
                        • доставка
                        • отсутствие дублей
                        • масштабируемость
Очереди
Эволюция: асинхронная работа
• От транзакций к сообщениям
• 99.9% работы платежной системы — в фоне

В фоне:
• распределенные транзакции
• взаимодействие с внешними системами
• различные уведомления внутри системы
                                            21
Сервер приложений
• NginX + apache + mod_perl
• Где кэш?

Задачи:
• Координация запросов
• Контроль соединений
• Выдача результатов ХП
• Бизнес-логика (не СУБД)
                              22
Жертвы будут
Неочевидные проблемы
• Ой! Мы же зашифровали данные!
• Контакт? Нет контакта! Коннект?...
• Распределенные вычисления
• Распределенный поиск
• Точки G


                                       23
Главная проблема
Регуляторы в области ИБ




                          © А. Лукацкий
                                     24
Главная проблема
Нормативно-правовые акты по ИБ в НПС




                                       © А. Лукацкий
                                                  25
Главная проблема
Главные проблемы — не технические

  • Стандарты безопасности
  • Закон о НПС + нормативные акты
  • Отчетность: 1С, SAP, АБС…
  • Люди


                                     26
Статистика
Серверы БД:
200 000 qps
Приложений:
До 5K qps
Баланс: 0.003 сек
Очередей:
2M msg/d, 1800 t/m
67% сообщений — 0.02 сек
97%             — 0.05 сек   27
СПАСИБО!
   Максим Бабич
  Деньги@Mail.Ru
babich@corp.mail.ru

Contenu connexe

Tendances

Решения крок для учебных заведений
Решения крок для учебных заведенийРешения крок для учебных заведений
Решения крок для учебных заведенийКРОК
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхSergey Makrushin
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхСергей Макрушин
 
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...Yandex
 
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...IBS
 
Внутренняя архитектура и устройства соц. сети "Одноклассники"
Внутренняя архитектура и устройства соц. сети "Одноклассники"Внутренняя архитектура и устройства соц. сети "Одноклассники"
Внутренняя архитектура и устройства соц. сети "Одноклассники".toster
 
КРОК. Клиенты на всю жизнь! что об этом знает ваш контакт центр
КРОК. Клиенты на всю жизнь! что об этом знает ваш контакт центрКРОК. Клиенты на всю жизнь! что об этом знает ваш контакт центр
КРОК. Клиенты на всю жизнь! что об этом знает ваш контакт центрКРОК
 
Dropbox. GoogleDisk. YandexDisk
Dropbox. GoogleDisk. YandexDiskDropbox. GoogleDisk. YandexDisk
Dropbox. GoogleDisk. YandexDiskDarja Sita
 
Опыт эффективной организации интеллектуального архива
Опыт эффективной организации интеллектуального архиваОпыт эффективной организации интеллектуального архива
Опыт эффективной организации интеллектуального архиваSergey Poltev
 

Tendances (9)

Решения крок для учебных заведений
Решения крок для учебных заведенийРешения крок для учебных заведений
Решения крок для учебных заведений
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данных
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данных
 
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...
 
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
 
Внутренняя архитектура и устройства соц. сети "Одноклассники"
Внутренняя архитектура и устройства соц. сети "Одноклассники"Внутренняя архитектура и устройства соц. сети "Одноклассники"
Внутренняя архитектура и устройства соц. сети "Одноклассники"
 
КРОК. Клиенты на всю жизнь! что об этом знает ваш контакт центр
КРОК. Клиенты на всю жизнь! что об этом знает ваш контакт центрКРОК. Клиенты на всю жизнь! что об этом знает ваш контакт центр
КРОК. Клиенты на всю жизнь! что об этом знает ваш контакт центр
 
Dropbox. GoogleDisk. YandexDisk
Dropbox. GoogleDisk. YandexDiskDropbox. GoogleDisk. YandexDisk
Dropbox. GoogleDisk. YandexDisk
 
Опыт эффективной организации интеллектуального архива
Опыт эффективной организации интеллектуального архиваОпыт эффективной организации интеллектуального архива
Опыт эффективной организации интеллектуального архива
 

Similaire à Платежная система Деньги@Mail.Ru

Highload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPIHighload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPILeonid Yuriev
 
Разбор реального кейса построения гибридного облака.
Разбор реального кейса построения гибридного облака.Разбор реального кейса построения гибридного облака.
Разбор реального кейса построения гибридного облака.Максим Захаренко
 
Опыт виртуализации системы электронной почты ММК
Опыт виртуализации системы электронной почты ММКОпыт виртуализации системы электронной почты ММК
Опыт виртуализации системы электронной почты ММКVsevolod Shabad
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитикиИлья Середа
 
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)Ontico
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Ontico
 
Опыт повышения доступности ключевых банковских ИТ-систем
Опыт повышения доступности ключевых банковских ИТ-системОпыт повышения доступности ключевых банковских ИТ-систем
Опыт повышения доступности ключевых банковских ИТ-системVsevolod Shabad
 
CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...
CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...
CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...CodeFest
 
NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...Ontico
 
Технологические решения для импортозамещения в программной инфраструктуре
Технологические решения для импортозамещения  в программной инфраструктуреТехнологические решения для импортозамещения  в программной инфраструктуре
Технологические решения для импортозамещения в программной инфраструктуреКРОК
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Ontico
 
Аналитическая инфраструктура оптимизации рекламной сети (Александр Зайцев)
Аналитическая инфраструктура оптимизации рекламной сети (Александр Зайцев)Аналитическая инфраструктура оптимизации рекламной сети (Александр Зайцев)
Аналитическая инфраструктура оптимизации рекламной сети (Александр Зайцев)Ontico
 
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"GeeksLab Odessa
 
Архитектура программных систем на Node.js
Архитектура программных систем на Node.jsАрхитектура программных систем на Node.js
Архитектура программных систем на Node.jsTimur Shemsedinov
 
Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL...
Андрей Кондрашов, Банк Москвы.  «АБС в крупном Банке. Тестирование PostgreSQL...Андрей Кондрашов, Банк Москвы.  «АБС в крупном Банке. Тестирование PostgreSQL...
Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL...Mail.ru Group
 
Top big data architecture patterns by Igor Chub
Top big data architecture patterns  by Igor ChubTop big data architecture patterns  by Igor Chub
Top big data architecture patterns by Igor Chub.NET User Group Dnipro
 
Backendless BaaS. Dinosaurus for Jeeconf 2013
Backendless BaaS. Dinosaurus for Jeeconf 2013Backendless BaaS. Dinosaurus for Jeeconf 2013
Backendless BaaS. Dinosaurus for Jeeconf 2013backendless
 
Cloud computing security
Cloud computing securityCloud computing security
Cloud computing securityAndriy Lysyuk
 

Similaire à Платежная система Деньги@Mail.Ru (20)

Highload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPIHighload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPI
 
Разбор реального кейса построения гибридного облака.
Разбор реального кейса построения гибридного облака.Разбор реального кейса построения гибридного облака.
Разбор реального кейса построения гибридного облака.
 
Опыт виртуализации системы электронной почты ММК
Опыт виртуализации системы электронной почты ММКОпыт виртуализации системы электронной почты ММК
Опыт виртуализации системы электронной почты ММК
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитики
 
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
 
Oblachnye vychisleniya -_ponyatiya_i_tehnologii
Oblachnye vychisleniya -_ponyatiya_i_tehnologiiOblachnye vychisleniya -_ponyatiya_i_tehnologii
Oblachnye vychisleniya -_ponyatiya_i_tehnologii
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
 
Опыт повышения доступности ключевых банковских ИТ-систем
Опыт повышения доступности ключевых банковских ИТ-системОпыт повышения доступности ключевых банковских ИТ-систем
Опыт повышения доступности ключевых банковских ИТ-систем
 
CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...
CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...
CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...
 
NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...
 
Технологические решения для импортозамещения в программной инфраструктуре
Технологические решения для импортозамещения  в программной инфраструктуреТехнологические решения для импортозамещения  в программной инфраструктуре
Технологические решения для импортозамещения в программной инфраструктуре
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
 
Аналитическая инфраструктура оптимизации рекламной сети (Александр Зайцев)
Аналитическая инфраструктура оптимизации рекламной сети (Александр Зайцев)Аналитическая инфраструктура оптимизации рекламной сети (Александр Зайцев)
Аналитическая инфраструктура оптимизации рекламной сети (Александр Зайцев)
 
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
 
Архитектура программных систем на Node.js
Архитектура программных систем на Node.jsАрхитектура программных систем на Node.js
Архитектура программных систем на Node.js
 
Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL...
Андрей Кондрашов, Банк Москвы.  «АБС в крупном Банке. Тестирование PostgreSQL...Андрей Кондрашов, Банк Москвы.  «АБС в крупном Банке. Тестирование PostgreSQL...
Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL...
 
Top big data architecture patterns by Igor Chub
Top big data architecture patterns  by Igor ChubTop big data architecture patterns  by Igor Chub
Top big data architecture patterns by Igor Chub
 
Backendless BaaS. Dinosaurus for Jeeconf 2013
Backendless BaaS. Dinosaurus for Jeeconf 2013Backendless BaaS. Dinosaurus for Jeeconf 2013
Backendless BaaS. Dinosaurus for Jeeconf 2013
 
Shagnut v oblaco_v_meste_s-bdc
Shagnut v oblaco_v_meste_s-bdcShagnut v oblaco_v_meste_s-bdc
Shagnut v oblaco_v_meste_s-bdc
 
Cloud computing security
Cloud computing securityCloud computing security
Cloud computing security
 

Dernier (9)

Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 

Платежная система Деньги@Mail.Ru