SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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

Was ist angesagt? (9)

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

Ähnlich wie максим бабич

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
 

Ähnlich wie максим бабич (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
 

Mehr von kuchinskaya (20)

Kharkov
KharkovKharkov
Kharkov
 
Balashov
BalashovBalashov
Balashov
 
Zamyakin
ZamyakinZamyakin
Zamyakin
 
Panfilov
PanfilovPanfilov
Panfilov
 
Platov
PlatovPlatov
Platov
 
Rabovoluk
RabovolukRabovoluk
Rabovoluk
 
Smirnov dependency-injection-techforum(1)
Smirnov dependency-injection-techforum(1)Smirnov dependency-injection-techforum(1)
Smirnov dependency-injection-techforum(1)
 
Smirnov reverse-engineering-techforum
Smirnov reverse-engineering-techforumSmirnov reverse-engineering-techforum
Smirnov reverse-engineering-techforum
 
Zacepin
ZacepinZacepin
Zacepin
 
Zagursky
ZagurskyZagursky
Zagursky
 
Haritonov
HaritonovHaritonov
Haritonov
 
Chudov
ChudovChudov
Chudov
 
Bubnov
BubnovBubnov
Bubnov
 
A.pleshkov
A.pleshkovA.pleshkov
A.pleshkov
 
Zenovich
ZenovichZenovich
Zenovich
 
Romanenko
RomanenkoRomanenko
Romanenko
 
Perepelitsa
PerepelitsaPerepelitsa
Perepelitsa
 
Osipov
OsipovOsipov
Osipov
 
Kubasov
KubasovKubasov
Kubasov
 
Kalugin balashov
Kalugin balashovKalugin balashov
Kalugin balashov
 

максим бабич