максим бабич
Upcoming SlideShare
Loading in...5
×
 

максим бабич

on

  • 2,039 views

 

Statistics

Views

Total Views
2,039
Views on SlideShare
376
Embed Views
1,663

Actions

Likes
0
Downloads
5
Comments
0

15 Embeds 1,663

http://www.maxbabich.ru 765
http://techforum.mail.ru 405
http://maxbabich.ru 343
http://babich.pro 49
http://dev.maxbabich.ru 30
http://www.techforum.mail.ru 18
http://webbyte.info 14
http://webbyte.ru 12
http://maximbabich.ru 11
http://translate.googleusercontent.com 6
http://www.webbyte.info 3
http://www.babich.pro 3
http://www.maximbabich.ru 2
http://www.webbyte.ru 1
http://seo.webbyte.info 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

максим бабич максим бабич Presentation Transcript

  • Платежная система Деньги@Mail.Ruпростые решения сложных вопросов 2
  • Что такое ДМР?• Платежи между пользователями и в магазины• Пластиковые карты• API и мобильные приложения• Квази-валюты 3
  • Проблемы в ПСТипичные проблемы HighLoad• высокая доступность и отказоустойчивость• обработка больших объемов данных / запросовНетипичные проблемы• любая ошибка — очень дорого• безопасность — наше всѐ• внешний мир — такой внешний 4
  • Учимся считатьФинансовая математикаМатематика с плавающей точкой2×2 =42.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/m67% сообщений — 0.02 сек97% — 0.05 сек 27
  • СПАСИБО! Максим Бабич Деньги@Mail.Rubabich@corp.mail.ru