максим бабич

  • 2,217 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,217
On Slideshare
0
From Embeds
0
Number of Embeds
15

Actions

Shares
Downloads
5
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Платежная система Деньги@Mail.Ruпростые решения сложных вопросов 2
  • 2. Что такое ДМР?• Платежи между пользователями и в магазины• Пластиковые карты• API и мобильные приложения• Квази-валюты 3
  • 3. Проблемы в ПСТипичные проблемы HighLoad• высокая доступность и отказоустойчивость• обработка больших объемов данных / запросовНетипичные проблемы• любая ошибка — очень дорого• безопасность — наше всѐ• внешний мир — такой внешний 4
  • 4. Учимся считатьФинансовая математикаМатематика с плавающей точкой2×2 =42.0 × 2.0 = ? 5
  • 5. Безопасность в ПСТипичные уязвимостиВ сети:• перехват трафикаНа сервере:• SQL-инъекции• 0-строки и раскрытие данныхНа клиенте:• XSS• XSRF
  • 6. Безопасность в ПСШифрование данныхПри передаче:• https-соединение• cookies со спец-флагамиПри хранении:• можно шифровать данные в БД• можно шифровать диски• данные отдельно, ключи отдельно 7
  • 7. Безопасность в ПСОбработка данныхSQL-инъекции? • хранимые процедуры и связанные переменныеXSS? • шаблонизаторы и экранирование переменныхXSRF? • подпись форм и ссылок 8
  • 8. ИнтеграцияПроблема:• Многообразие протоколов• Многообразие алгоритмов• Чрезмерная паранойяРешение:• Унификация — хотя бы свои делайте одинаково• Простота — чем проще вы, тем проще вам• Совместимость 9
  • 9. Где Rocket Science? Масштабируемость Скорость Надежность 10
  • 10. Где Rocket Science? Платежная система — это не Rocket Science… …но есть нюанс © 11
  • 11. Хранилище данныхПроблема:Масштабируемость — scale-up или scale-out?Выбор технологии:•Промышленные СУБД?•Open-source?•NoSQL?С этим выбором жить долго:платежные системы консервативны
  • 12. Хранилище данныхРешение:• Данные — в сотнях узлов одинаковой структуры• Каждый пользователь — в своем узле• Работа с данными — через хранимые процедуры 13
  • 13. Хранилище данныхПочему?• Данные слабосвязаны, разных типов мало• Многие данные не меняются • Можно забыть про нормализацию • JSON рулит. Разница — всего 34.8%. Жалко? Можно и 20.5%• Дублируем, если нужно• Безопасность + меньше сетевые издержки
  • 14. Хранилище данныхТехнологии:MySQL 5.x + хранимые процедуры 15
  • 15. Хранилище данныхТранзакцииклассика жанра…start transaction;UPDATE account SET balance = balance + :amount WHERE uid = :user1;UPDATE account SET balance = balance - :amount WHERE uid = :user2;commit;…не работает! 16
  • 16. Хранилище данныхТребования:• Гарантированная доставка• Отсутствие дублей• И снова масштабирование 17
  • 17. Хранилище данныхТребования:• Гарантированная доставка• Отсутствие дублей• И снова масштабированиеРешение:• Упрощение 2PC• Журналы транзакций 18
  • 18. Хранилище данныхРаспределенные транзакцииЭтапы:• списание на транзитный счѐт• передача между узлами• зачисление на счѐт получателя 19
  • 19. Хранилище данныхРаспределенные транзакции В узлах: ACID + скорость Координатор: • доставка • отсутствие дублей • масштабируемость
  • 20. ОчередиЭволюция: асинхронная работа• От транзакций к сообщениям• 99.9% работы платежной системы — в фонеВ фоне:• распределенные транзакции• взаимодействие с внешними системами• различные уведомления внутри системы 21
  • 21. Сервер приложений• NginX + apache + mod_perl• Где кэш?Задачи:• Координация запросов• Контроль соединений• Выдача результатов ХП• Бизнес-логика (не СУБД) 22
  • 22. Жертвы будутНеочевидные проблемы• Ой! Мы же зашифровали данные!• Контакт? Нет контакта! Коннект?...• Распределенные вычисления• Распределенный поиск• Точки G 23
  • 23. Главная проблемаРегуляторы в области ИБ © А. Лукацкий 24
  • 24. Главная проблемаНормативно-правовые акты по ИБ в НПС © А. Лукацкий 25
  • 25. Главная проблемаГлавные проблемы — не технические • Стандарты безопасности • Закон о НПС + нормативные акты • Отчетность: 1С, SAP, АБС… • Люди 26
  • 26. СтатистикаСерверы БД:200 000 qpsПриложений:До 5K qpsБаланс: 0.003 секОчередей:2M msg/d, 1800 t/m67% сообщений — 0.02 сек97% — 0.05 сек 27
  • 27. СПАСИБО! Максим Бабич Деньги@Mail.Rubabich@corp.mail.ru