ВСхничСская ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Озон: Π½Π° Ρ‡Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΠΉ маркСтплСйс России

Когда Ρ€Π΅Ρ‡ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎ маркСтплСйсС Озон, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π΄ΡƒΠΌΠ°ΡŽΡ‚ ΠΎ ΠΏΠΎΠΊΡƒΠΏΠΊΠ°Ρ…, доставкС ΠΈ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π°Ρ…. Но Π·Π° внСшним интСрфСйсом с ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Β«ΠšΡƒΠΏΠΈΡ‚ΡŒΒ» скрываСтся слоТная тСхничСская инфраструктура, способная ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ запросов Π² сСкунду. Π­Ρ‚Π° систСма Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ круглосуточно, обСспСчивая ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ Π² ΠΏΠΈΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎ врСмя Β«Π§Ρ‘Ρ€Π½ΠΎΠΉ пятницы» ΠΈΠ»ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎΠ΄Π½ΠΈΡ… распродаТ.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… российских IT-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ozon Tech (тСхничСскоС ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ) Π½Π΅ Π°Ρ„ΠΈΡˆΠΈΡ€ΡƒΠ΅Ρ‚ всС Π΄Π΅Ρ‚Π°Π»ΠΈ своСй Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π°Π½Π°Π»ΠΈΠ· вакансий, ΠΏΠ°Ρ‚Π΅Π½Ρ‚ΠΎΠ², ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… выступлСний ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈ косвСнных Π΄Π°Π½Π½Ρ‹Ρ… позволяСт Ρ€Π΅ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ основныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π°, Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ β€” ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π± тСхничСских Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Π² основС маркСтплСйса.

Π―Π΄Ρ€ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: микросСрвисы ΠΈ облачная инфраструктура

Озон построил свою Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… микросСрвисов, Ρ‡Ρ‚ΠΎ позволяСт нСзависимо ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ части систСмы β€” ΠΎΡ‚ поиска Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π΄ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ микросСрвис ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° свою бизнСс-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

  • πŸ›’ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² β€” Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ индСксация ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² SKU с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ
  • πŸ’³ ΠŸΠ»Π°Ρ‚Π΅ΠΆΠ½Π°Ρ систСма β€” интСграция с Π±Π°Π½ΠΊΠ°ΠΌΠΈ ΠΈ Ozon Π‘Π°Π½ΠΊΠΎΠΌ
  • 🚚 Логистика β€” расчёт ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ², ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ складами ΠΈ ΠΊΡƒΡ€ΡŒΠ΅Ρ€Π°ΠΌΠΈ
  • πŸ“Š Аналитика β€” сбор Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ гСнСрация ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ² для ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ²

Для оркСстрации микросСрвисов Озон ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Kubernetes (собствСнная модификация Π½Π° Π±Π°Π·Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π°), Ρ‡Ρ‚ΠΎ подтвСрТдаСтся упоминаниями Π² вакансиях ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π­Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ позволяСт автоматичСски Π±Π°Π»Π°Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΡƒΠΏΠ°Π²ΡˆΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π±Π΅Π· простоя. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π² 2020–2022 Π³ΠΎΠ΄Π°Ρ… Озон Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π½Π°Π½ΠΈΠΌΠ°Π» спСциалистов ΠΏΠΎ Istio β€” инструмСнту для управлСния сСрвисным мСшСм, Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π·Ρ€Π΅Π»ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ микросСрвисов.

ВсС сСрвисы Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ Π² Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠΌ ΠΎΠ±Π»Π°ΠΊΠ΅:

  • 🌍 БобствСнныС Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Ρ‹ β€” для критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… систСм (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ)
  • ☁️ ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹ β€” AWS, Google Cloud ΠΈ частично Yandex Cloud для ΠΌΠ΅Π½Π΅Π΅ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌ сСрвисов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм)
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ 2022 Π³ΠΎΠ΄Ρƒ Озон Π½Π°Ρ‡Π°Π» Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ пСрСнос части инфраструктуры ΠΈΠ· Π·Π°Ρ€ΡƒΠ±Π΅ΠΆΠ½Ρ‹Ρ… ΠΎΠ±Π»Π°ΠΊΠΎΠ² Π² российскиС Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Ρ‹ ΠΈΠ·-Π·Π° гСополитичСских рисков. Π­Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сСрвисов для ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ².
πŸ“Š Как Π²Ρ‹ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚Π΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π° Озон?
ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, всё Π»Π΅Ρ‚Π°Π΅Ρ‚
Иногда Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚
Часто Π»Π°Π³Π°Π΅Ρ‚
ΠŸΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ Ρ€Π΅Π΄ΠΊΠΎ, Π½Π΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π»

БэкСнд: языки программирования ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ

Основной стСк Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ бэкСнда Озон Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚:

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования
ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ сСрвисы Java (Spring Boot), Kotlin ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π°ΠΊΠ°Π·ΠΎΠ², ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ складами, API для ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ²
ВысоконагруТСнныС сСрвисы Go (Golang), Rust ΠŸΠΎΠΈΡΠΊΠΎΠ²Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ, систСма Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ
Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΈ автоматизация Python (Django, FastAPI) Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠ°Ρ€Ρ‚Π½Ρ‘Ρ€Π°ΠΌΠΈ, ETL-процСссы, Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ инструмСнты
Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ сСрвисов TypeScript (Node.js, NestJS) API-ΡˆΠ»ΡŽΠ·Ρ‹, сСрвСрный Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

ОсобСнно стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ использованиС Golang для критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… сСрвисов. Π­Ρ‚ΠΎΡ‚ язык Π²Ρ‹Π±Ρ€Π°Π½ Π·Π° счёт своСй ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ потрСблСния памяти, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для систСм, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… тысячи запросов Π² сСкунду. НапримСр, поисковый Π΄Π²ΠΈΠΆΠΎΠΊ Озон построСн Π½Π° Π±Π°Π·Π΅ Elasticsearch с кастомизированными ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ Π½Π° Go для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ скорости Π²Ρ‹Π΄Π°Ρ‡ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ примСняСтся Rust β€” язык, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΠ½ΡƒΡŽ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния. Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ для прСдотвращСния ΡƒΡ‚Π΅Ρ‡Π΅ΠΊ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΡ‚Π²Π°. Π’ вакансиях Озон Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Tokio (асинхронный runtime для Rust), Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ использованиС этого стСка.

Озон Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ систСму ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° Π±Π°Π·Π΅ Prometheus + Grafana с кастомизированными Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π°ΠΌΠΈ для отслСТивания ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ позволяСт ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° сбои, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ доступности API для ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ².

Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: ΠΊΠ°ΠΊ Озон Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Ρ‹ записСй

Для хранСния Π΄Π°Π½Π½Ρ‹Ρ… Озон ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΈΠ· SQL ΠΈ NoSQL Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π² зависимости ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ:

  • πŸ—ƒοΈ PostgreSQL β€” основная рСляционная Π±Π°Π·Π° для Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (Π·Π°ΠΊΠ°Π·Ρ‹, ΠΏΠ»Π°Ρ‚Π΅ΠΆΠΈ, ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ). Озон Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ TimescaleDB (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для PostgreSQL) для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ рядами β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆ ΠΏΠΎ часам.
  • πŸ” Elasticsearch β€” поисковый Π΄Π²ΠΈΠΆΠΎΠΊ для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ². Π˜Π½Π΄Π΅ΠΊΡΡ‹ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с использованиСм Kafka для стриминга ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
  • πŸ“¦ ScyllaDB (совмСстимая с Cassandra) β€” для хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ логистикС ΠΈ истории Π·Π°ΠΊΠ°Π·ΠΎΠ². Π­Ρ‚Π° Π±Π°Π·Π° Π²Ρ‹Π±Ρ€Π°Π½Π° Π·Π° счёт высокой скорости записи ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ.
  • πŸ“ˆ ClickHouse β€” аналитичСская Π±Π°Π·Π° для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ² ΠΈ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ² Π² Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π°.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚: Озон Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ систСму ΡˆΠ°Ρ€Π΄ΠΈΠ½Π³Π° для PostgreSQL, которая позволяСт автоматичСски Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСрами Π² зависимости ΠΎΡ‚ гСографичСского располоТСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. НапримСр, запросы ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ² ΠΈΠ· Π‘ΠΈΠ±ΠΈΡ€ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° сСрвСрах Π² НовосибирскС, Π° москвичСй β€” Π² подмосковных Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ….

Для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ часто Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΌΠΎ-Π±Π°Π½Π½Π΅Ρ€ΠΎΠ²) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Redis с кластСризациСй. Π­Ρ‚ΠΎ сниТаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° основныС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ускоряСт ΠΎΡ‚Π΄Π°Ρ‡Ρƒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. Π’ ΠΏΠΈΠΊΠΎΠ²Ρ‹Π΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎ врСмя распродаТ) Озон Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ кэша, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ падСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΄Π°Π²Π΅Ρ† Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ измСнСния Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅ Ρ‚ΠΎΠ²Π°Ρ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ†Π΅Π½Π° ΠΈΠ»ΠΈ описаниС) ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ кэша. Π’ срСднСм актуализация Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΡ‚ 5 Π΄ΠΎ 30 ΠΌΠΈΠ½ΡƒΡ‚, Π½ΠΎ Π² Ρ€Π΅Π΄ΠΊΠΈΡ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒΡΡ Π΄ΠΎ часа.

Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄: ΠΊΠ°ΠΊ устроСны Π²Π΅Π± ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Озон β€” это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сайт, Π½ΠΎ ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния для iOS/Android, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ инструмСнты для сотрудников ΠΈ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ². ВсС ΠΎΠ½ΠΈ построСны Π½Π° соврСмСнных Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ…:

  • 🌐 Π’Π΅Π±-вСрсия β€” React (с использованиСм Next.js для сСрвСрного Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°). Для стилСй примСняСтся CSS-in-JS (ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ β€” styled-components).
  • πŸ“± ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния β€” кросс-платформСнная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° React Native с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ модулями для критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сканированиС ΡˆΡ‚Ρ€ΠΈΡ…ΠΊΠΎΠ΄ΠΎΠ² Π½Π° складах).
  • πŸ› οΈ Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ инструмСнты β€” Vue.js для Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΈ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ².

Озон Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ feature flags (Ρ„Π»Π°Π³ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ), Ρ‡Ρ‚ΠΎ позволяСт постСпСнно Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ возмоТности для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. НапримСр, Π½ΠΎΠ²Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ‚ΠΎΠ²Π°Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ сначала ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 10% посСтитСлСй, Π° Π·Π°Ρ‚Π΅ΠΌ β€” послС Π°Π½Π°Π»ΠΈΠ·Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ β€” раскатываСтся Π½Π° всСх.

Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ скорости Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страниц Озон примСняСт:

  • πŸš€ Lazy loading β€” изобраТСния ΠΈ Π½Π΅ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ скрипты грузятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅.
  • πŸ—œοΈ Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ рСсурсов β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Brotli ΠΈ Gzip для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° CSS/JS-Ρ„Π°ΠΉΠ»ΠΎΠ².
  • πŸ”„ Service Worker β€” ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ статичСских рСсурсов Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ для ΠΎΡ„Π»Π°ΠΉΠ½-Ρ€Π°Π±ΠΎΡ‚Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, история Π·Π°ΠΊΠ°Π·ΠΎΠ² доступна Π±Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°).

ЛогистичСская ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°: ΠΊΠ°ΠΊ Озон управляСт доставкой

Одно ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½Ρ‹Ρ… прСимущСств Озон β€” собствСнная логистичСская ΡΠ΅Ρ‚ΡŒ, которая Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ склады, сортировочныС Ρ†Π΅Π½Ρ‚Ρ€Ρ‹ ΠΈ слуТбу доставки. Π—Π° Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСхничСский комплСкс, построСнный Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ…:

  • πŸ—ΊοΈ ГСоинформационная систСма β€” Π½Π° Π±Π°Π·Π΅ PostGIS (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ PostgreSQL для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Π΅ΠΎΠ΄Π°Π½Π½Ρ‹ΠΌΠΈ) с ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ с Yandex Maps API ΠΈ 2GIS для расчёта ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ².
  • πŸ€– Автоматизация складов β€” систСма управлСния Ρ€ΠΎΠ±ΠΎΡ‚Π°ΠΌΠΈ-сортировщиками (Π² партнёрствС с Geek+) Π½Π° Π±Π°Π·Π΅ ROS (Robot Operating System).
  • πŸ“¦ WMS (Warehouse Management System) β€” собствСнная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Java с использованиСм Apache Kafka для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈΡ‘ΠΌΠΊΠ° Ρ‚ΠΎΠ²Π°Ρ€Π° ΠΎΡ‚ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π°).

Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² ΠΊΡƒΡ€ΡŒΠ΅Ρ€ΠΎΠ² Озон ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ машинного обучСния, ΠΎΠ±ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π½Π° историчСских Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доставки, ΠΏΡ€ΠΎΠ±ΠΊΠ°Ρ… ΠΈ ΠΏΠΎΠ³ΠΎΠ΄Π½Ρ‹Ρ… условиях. МодСли построСны Π½Π° Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ PyTorch ΠΈ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Π½Π° кластСрС NVIDIA GPU Π² ΠΎΠ±Π»Π°ΠΊΠ΅.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΉ тСхничСский нюанс: Озон Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» систСму динамичСского пСрСраспрСдСлСния Π·Π°ΠΊΠ°Π·ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΡƒΡ€ΡŒΠ΅Ρ€Π°ΠΌΠΈ. Если ΠΊΡƒΡ€ΡŒΠ΅Ρ€ задСрТиваСтся (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·-Π·Π° ΠΏΡ€ΠΎΠ±ΠΊΠΈ), Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ автоматичСски ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ Π΅Π³ΠΎ Π·Π°ΠΊΠ°Π·ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΠΌ свободным ΠΊΡƒΡ€ΡŒΠ΅Ρ€Π°ΠΌ Π² этом ΠΆΠ΅ Ρ€Π°ΠΉΠΎΠ½Π΅. Π­Ρ‚ΠΎ сниТаСт количСство просрочСнных доставок Π½Π° 15–20%.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ систСма Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠ²?

ΠŸΡ€ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π΅ Ρ‚ΠΎΠ²Π°Ρ€Π° ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Ρƒ Озон ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ логистику: ΠΊΡƒΡ€ΡŒΠ΅Ρ€ Π·Π°Π±ΠΈΡ€Π°Π΅Ρ‚ посылку ΠΈ доставляСт Π΅Ρ‘ Π½Π° блиТайший сортировочный Ρ†Π΅Π½Ρ‚Ρ€. Π’Π°ΠΌ Ρ‚ΠΎΠ²Π°Ρ€ сканируСтся, провСряСтся Π½Π° соотвСтствиС описанию (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠ»ΠΎΠΌΠ±) ΠΈ отправляСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Ρƒ ΠΈΠ»ΠΈ Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ (Ссли Ρ‚ΠΎΠ²Π°Ρ€ испорчСн). Π’Π΅ΡΡŒ процСсс отслСТиваСтся Π² систСмС Π½Π° Π±Π°Π·Π΅ Apache Kafka, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ дСйствиС (сканированиС, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ°) фиксируСтся ΠΊΠ°ΠΊ событиС.

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ: ΠΊΠ°ΠΊ Озон Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ²

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π² Озон построСна ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ Β«Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π² Π³Π»ΡƒΠ±ΠΈΠ½ΡƒΒ» (Defense in Depth), Π³Π΄Π΅ нСсколько слоёв Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ€Ρ‹:

  • πŸ” Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅:
    • Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (ΠΏΠ°Ρ€ΠΎΠ»ΠΈ, платСТная информация) хранятся Π² Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ с использованиСм AES-256.
    • Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ сСти ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ TLS 1.3 с ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠΉ прямой ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒΡŽ (Perfect Forward Secrecy).
  • πŸ›‘οΈ Π—Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS β€” Озон ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ собствСнноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ NGINX с кастомизированными ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, Π° Ρ‚Π°ΠΊΠΆΠ΅ услуги Cloudflare для поглощСния Π°Ρ‚Π°ΠΊ.
  • πŸ€– Π‘ΠΎΡ€ΡŒΠ±Π° с Π±ΠΎΡ‚Π°ΠΌΠΈ β€” систСма Ozon Shield Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, блокируя ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ дСйствия (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, массовый парсинг Ρ†Π΅Π½ ΠΈΠ»ΠΈ созданиС Ρ„Π΅ΠΉΠΊΠΎΠ²Ρ‹Ρ… Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠ²).

Для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Озон Π²Π½Π΅Π΄Ρ€ΠΈΠ» ΠΌΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½ΡƒΡŽ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ (MFA) Π½Π° Π±Π°Π·Π΅ TOTP (Time-based One-Time Password). ΠŸΡ€ΠΈ этом для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… систСм (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, доступа сотрудников ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ YubiKey β€” Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ бСзопасности.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся Π·Π°Ρ‰ΠΈΡ‚Π΅ API для ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ². ВсС запросы ΠΊ API ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ с использованиСм JWT-Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΆΠΈΠ·Π½ΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Озон Π²Π½Π΅Π΄Ρ€ΠΈΠ» систСму rate limiting, которая Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ IP-адрСса, ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ слишком ΠΌΠ½ΠΎΠ³ΠΎ запросов Π² сСкунду (это Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ сСрвСров ΠΈ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ²).

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΄Π°Π²Π΅Ρ† ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ сторонниС сСрвисы для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Озон (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²), ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° использования API. ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠΌΠΈΡ‚ΠΎΠ² запросов ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ вашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠ°Ρ€Ρ‚Π½Ρ‘Ρ€Π°ΠΌΠΈ: ΠΊΠ°ΠΊ Озон взаимодСйствуСт с внСшними систСмами

Озон Π½Π΅ сущСствуСт Π² Π²Π°ΠΊΡƒΡƒΠΌΠ΅ β€” ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° с дСсятками Π²Π½Π΅ΡˆΠ½ΠΈΡ… сСрвисов: Π±Π°Π½ΠΊΠ°ΠΌΠΈ, логистичСскими ΠΏΠ°Ρ€Ρ‚Π½Ρ‘Ρ€Π°ΠΌΠΈ, систСмами Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ ΠΈ Ρ‚. Π΄. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ:

  • 🏦 БанковскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ β€” ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π¦Π‘ Π Π€, Π‘Π‘ΠŸ (БистСма быстрых ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊ процСссинговым Ρ†Π΅Π½Ρ‚Ρ€Π°ΠΌ Π‘Π±Π΅Ρ€Π±Π°Π½ΠΊΠ°, Π’ΠΈΠ½ΡŒΠΊΠΎΡ„Ρ„ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ISO 8583 с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
  • πŸ“¦ ЛогистичСскиС ΠΏΠ°Ρ€Ρ‚Π½Ρ‘Ρ€Ρ‹ β€” интСграция с Π‘Π”Π­Πš, Boxberry, ΠŸΠΎΡ‡Ρ‚ΠΎΠΉ России Ρ‡Π΅Ρ€Π΅Π· EDI (Electronic Data Interchange) Π½Π° Π±Π°Π·Π΅ AS2 ΠΈΠ»ΠΈ SFTP.
  • πŸ“ˆ АналитичСскиС систСмы β€” ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² Google Analytics, AppMetrica ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ BI-инструмСнты Ρ‡Π΅Ρ€Π΅Π· Apache Kafka Connect.

Для ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ² Озон прСдоставляСт нСсколько способов ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ:

  1. REST API β€” для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², управлСния Π·Π°ΠΊΠ°Π·Π°ΠΌΠΈ ΠΈ получСния ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ². ДокумСнтация доступна Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ€Ρ‚Π°Π»Π΅.
  2. FTP/SFTP β€” для массовой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ CSV ΠΈΠ»ΠΈ XLSX.
  3. 1C:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ β€” Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для синхронизации Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈ остатков.

УстановитС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° количСство запросов Π² сСкунду (рСкомСндуСтся Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 10 RPS)

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ HTTPS с Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ сСртификатом

Π₯Ρ€Π°Π½ΠΈΡ‚Π΅ API-ΠΊΠ»ΡŽΡ‡ΠΈ Π² Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, AWS Secrets Manager ΠΈΠ»ΠΈ HashiCorp Vault)

РСгулярно обновляйтС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с API (ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ вСрсии ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ уязвимости)

НастройтС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ошибок ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Sentry ΠΈΠ»ΠΈ LogRocket)

-->

FAQ: ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° частыС вопросы ΠΎ тСхничСской ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Озон

На ΠΊΠ°ΠΊΠΎΠΌ языкС написан поисковый Π΄Π²ΠΈΠΆΠΎΠΊ Озон?

Основной поисковый Π΄Π²ΠΈΠΆΠΎΠΊ Озон Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π±Π°Π·Π΅ Elasticsearch с кастомизированными ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ, написанными Π½Π° Go (Golang). Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ машинного обучСния Π½Π° Python (Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ PyTorch), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π½ΠΆΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ поиска с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π° ΠΈΠ½ΠΎΠ³Π΄Π° Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚?

ЗамСдлСния Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ связаны с нСсколькими Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ:

  • πŸ”„ ОбновлСниС систСмы β€” Озон рСгулярно выпускаСт Π°ΠΏΠ΄Π΅ΠΉΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ сСрвСры.
  • πŸ“Š Пиковая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° β€” Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹ распродаТ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ozon Sale) количСство запросов ΠΎΡ‚ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ² Ρ€Π΅Π·ΠΊΠΎ возрастаСт.
  • 🌍 ГСографичСскоС располоТСниС β€” Ссли Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ блиТайшСго Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Озон, Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ.

Если Ρ‚ΠΎΡ€ΠΌΠΎΠ·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ рСгулярно, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅:

  1. ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ кэш Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ ΠΈΠ½ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΎ.
  2. ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Chrome вмСсто Safari).
  3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° β€” ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π° сторонС ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°.
МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ API Озон для парсинга Ρ†Π΅Π½ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ²?

НСт, массовый парсинг Ρ†Π΅Π½ с Озон Π·Π°ΠΏΡ€Π΅Ρ‰Ρ‘Π½ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ использования API. БистСма Ozon Shield автоматичСски Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большоС количСство запросов ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ². Для лСгального ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Ρ†Π΅Π½ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅:

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Ρ‹ Π² Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π° (Ρ€Π°Π·Π΄Π΅Π» «Аналитика»).
  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сСрвисы-ΠΏΠ°Ρ€Ρ‚Π½Ρ‘Ρ€Ρ‹ Озон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… соглашСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Retail Rocket ΠΈΠ»ΠΈ eLama).

ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ» ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ API-ΠΊΠ»ΡŽΡ‡Π° ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π°.

Как Озон обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ (99.9% uptime)?

Озон достигаСт высокой доступности Π·Π° счёт:

  • πŸ”„ Многозональной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ β€” сСрвисы Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² МосквС, Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³Π΅ ΠΈ НовосибирскС).
  • πŸ›‘οΈ АвтоматичСского ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ β€” ΠΏΡ€ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ основного сСрвСра Ρ‚Ρ€Π°Ρ„ΠΈΠΊ пСрСнаправляСтся Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Consul для сСрвис-дискавСри).
  • πŸ“‘ CDN β€” статичСскиС рСсурсы (изобраТСния, JS/CSS-Ρ„Π°ΠΉΠ»Ρ‹) Ρ€Π°Π·Π΄Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Cloudflare ΠΈ Akamai, Ρ‡Ρ‚ΠΎ сниТаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° основныС сСрвСры.

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ сСрвисы (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ) ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Ρ€Π΅Ρ…ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” Π΄Π°ΠΆΠ΅ Ссли Π΄Π²Π° Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π²Ρ‹ΠΉΠ΄ΡƒΡ‚ ΠΈΠ· строя, систСма ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

КакиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы Озон?

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ систСма Озон построСна Π½Π° Π±Π°Π·Π΅:

  • πŸ€– Машинного обучСния β€” ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Π½Π° PyTorch ΠΈ TensorFlow с использованиСм Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (просмотры, ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ, врСмя Π½Π° страницС).
  • πŸ—ƒοΈ Π“Ρ€Π°Ρ„ΠΎΠ²Ρ‹Ρ… Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… β€” для Π°Π½Π°Π»ΠΈΠ·Π° связСй ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΎΠ²Π°Ρ€Π°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»ΠΈ этого Ρ‚ΠΎΠ²Π°Ρ€Π° Ρ‚Π°ΠΊΠΆΠ΅ бСрут…») ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Neo4j.
  • ⚑ Π‘Ρ‚Ρ€ΠΈΠΌΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ β€” события (ΠΊΠ»ΠΈΠΊΠΈ, добавлСния Π² ΠΊΠΎΡ€Π·ΠΈΠ½Ρƒ) ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Apache Kafka ΠΈ Flink.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Озон ΠΏΠ°Ρ‚Π΅Π½Ρ‚ΠΎΠ²Π°Π» Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π³Π΅ΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ. НапримСр, Π² МосквС ΠΈ Π‘ΠΎΡ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΌ поисковом запросС.