Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
От сырых данных до отчета.
Архитектурные подходы в проекте Автотека
Николай Балакирев
2
Знакомьтесь, Аркадий!
43
Была бы у меня тачка?!!..
44
А-а-а-авто кредит!
45
Аркадий решил проверить авто
46
Аркадий вбивает VIN
47
Поиск по БД сервиса
48
Аркадий производит оплату
49
Аркадий просматривает отчет
410
MVP!!!!111
411
Данных за вчера все еще нет!!!
412
Переработанная архитектура
413
Downloader
Отказываемся от Downloader
414
Downloader
Используем Service Downloader
415
Аркадий решил проверить авто
416
Аркадий вбивает VIN
417
Поиск по БД сервиса
418
Недостаточно данных … ???
419
Как было
420
Добавляем очереди!
421
Аркадий решил проверить авто
422
Аркадий вбивает VIN
423
Поиск по БД сервиса
424
Аркадий производит оплату
425
Аркадий просматривает отчет
426
Серьезно???
427
Как было
428
Проверка в момент запроса!
429
Аркадий решил проверить авто
430
Аркадий вбивает VIN
431
Поиск по БД сервиса
432
Поиск данных в источниках
433
Аркадий производит оплату
434
Аркадий просматривает отчет
435
А если тачка в залоге ?????
436
Как было
437
Расширение архитектуры
438
Аркадий решил проверить авто
439
Аркадий вбивает VIN
440
Поиск по БД сервиса
441
Поиск данных в источниках
442
Аркадий производит оплату
443
Аркадий успешно оплатил
444
Поиск данных в источниках
445
Аркадий просматривает отчет
446
Мазда Веста???
447
Да ладно????
448
Архитектурные проблемы
449
Микросервисы в помощь
450
Importer как сервис
451
Ответственность за статичные данные
452
API Gateway
453
Ответственность за динамичные данные
454
Изоляция Core API
455
Микросервис генерации отчетов
Итог
• Быстрая генерация отчета
• Гибкость добавления источников
• Гибкость изменения event-flow
• API Gateway
Спасибо за внимание!
59
github.com/madfaill
Балакирев Николай
Вопросы?
madfaill@gmail.com
facebook.com/madfaill
Upcoming SlideShare
Loading in …5
×

От сырых данных до отчета. Архитектурные подходы в проекте Автотека / Николай Балакирев (Avito)

206 views

Published on

РИТ++ 2017
Зал Сан-Паулу, 5 июня, 17:00

Тезисы:
http://ritfest.ru/2017/abstracts/2736.html

Автотека (autoteka.ru) - новый проект, с помощью которого можно проверить историю автомобиля. Для получения данных по конкретному VIN за секунду сервису нужно посетить более 10 сторонних API, а также извлечь заранее собранные данные от дилеров и из других источников, предоставляющих статичную информацию. На этом сложности не заканчиваются, структура данных у каждого источника своя, встречаются пересечения записей по времени. Используя VIN и дату события в качестве уникальных идентификаторов, мы производим слияние по определенному набору правил, что позволяет нам получить выборку событий, интересных для конечного потребителя, исключив оттуда всё лишнее.

В докладе я расскажу про особенности нашей архитектуры, как мы генерируем отчет, как устроен поиск и агрегация, и для чего мы их выносим в отдельные микросервисы.

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

От сырых данных до отчета. Архитектурные подходы в проекте Автотека / Николай Балакирев (Avito)

  1. 1. От сырых данных до отчета. Архитектурные подходы в проекте Автотека Николай Балакирев
  2. 2. 2
  3. 3. Знакомьтесь, Аркадий! 43
  4. 4. Была бы у меня тачка?!!.. 44
  5. 5. А-а-а-авто кредит! 45
  6. 6. Аркадий решил проверить авто 46
  7. 7. Аркадий вбивает VIN 47
  8. 8. Поиск по БД сервиса 48
  9. 9. Аркадий производит оплату 49
  10. 10. Аркадий просматривает отчет 410
  11. 11. MVP!!!!111 411
  12. 12. Данных за вчера все еще нет!!! 412
  13. 13. Переработанная архитектура 413 Downloader
  14. 14. Отказываемся от Downloader 414 Downloader
  15. 15. Используем Service Downloader 415
  16. 16. Аркадий решил проверить авто 416
  17. 17. Аркадий вбивает VIN 417
  18. 18. Поиск по БД сервиса 418
  19. 19. Недостаточно данных … ??? 419
  20. 20. Как было 420
  21. 21. Добавляем очереди! 421
  22. 22. Аркадий решил проверить авто 422
  23. 23. Аркадий вбивает VIN 423
  24. 24. Поиск по БД сервиса 424
  25. 25. Аркадий производит оплату 425
  26. 26. Аркадий просматривает отчет 426
  27. 27. Серьезно??? 427
  28. 28. Как было 428
  29. 29. Проверка в момент запроса! 429
  30. 30. Аркадий решил проверить авто 430
  31. 31. Аркадий вбивает VIN 431
  32. 32. Поиск по БД сервиса 432
  33. 33. Поиск данных в источниках 433
  34. 34. Аркадий производит оплату 434
  35. 35. Аркадий просматривает отчет 435
  36. 36. А если тачка в залоге ????? 436
  37. 37. Как было 437
  38. 38. Расширение архитектуры 438
  39. 39. Аркадий решил проверить авто 439
  40. 40. Аркадий вбивает VIN 440
  41. 41. Поиск по БД сервиса 441
  42. 42. Поиск данных в источниках 442
  43. 43. Аркадий производит оплату 443
  44. 44. Аркадий успешно оплатил 444
  45. 45. Поиск данных в источниках 445
  46. 46. Аркадий просматривает отчет 446
  47. 47. Мазда Веста??? 447
  48. 48. Да ладно???? 448
  49. 49. Архитектурные проблемы 449
  50. 50. Микросервисы в помощь 450
  51. 51. Importer как сервис 451
  52. 52. Ответственность за статичные данные 452
  53. 53. API Gateway 453
  54. 54. Ответственность за динамичные данные 454
  55. 55. Изоляция Core API 455
  56. 56. Микросервис генерации отчетов
  57. 57. Итог • Быстрая генерация отчета • Гибкость добавления источников • Гибкость изменения event-flow • API Gateway
  58. 58. Спасибо за внимание!
  59. 59. 59 github.com/madfaill Балакирев Николай Вопросы? madfaill@gmail.com facebook.com/madfaill

×