QCon Conference. Mastering Chaos: The Netflix Guide to Microservices. Fizarana faha-4

Π”ΠΆΠΎΡˆ Эванс рассказываСт ΠΎ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎΠΌ ΠΈ ярком ΠΌΠΈΡ€Π΅ микросСрвисов Netflix, начиная с самых основ β€” Π°Π½Π°Ρ‚ΠΎΠΌΠΈΠΈ микросСрвисов, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, связанных с распрСдСлСнными систСмами ΠΈ ΠΈΡ… прСимущСств. ΠžΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° этот Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚, ΠΎΠ½ исслСдуСт ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π½Ρ‹Π΅, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Π΄ΡƒΡ‚ ΠΊ овладСнию микросСрвисами.

QCon Conference. Mastering Chaos: The Netflix Guide to Microservices. Fizarana faha-1
QCon Conference. Mastering Chaos: The Netflix Guide to Microservices. Fizarana faha-2
QCon Conference. Mastering Chaos: The Netflix Guide to Microservices. Fizarana faha-3

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ operational drift, Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… языков для ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСрвиса ΠΈ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, β€” это ΡΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΡƒΡŽ срСду. Моя Π³Ρ€ΡƒΠΏΠΏΠ° опСрационистов стандартизировала Β«Π°ΡΡ„Π°Π»ΡŒΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π΄ΠΎΡ€ΠΎΠ³ΡƒΒ» Π»ΡƒΡ‡ΡˆΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ для Netflix, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ «запСкались» Π² Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ…, основанных Π½Π° Java ΠΈ EC2, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ развития бизнСса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ стали Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Python, Ruby, Node-JS ΠΈ Docker.

QCon Conference. Mastering Chaos: The Netflix Guide to Microservices. Fizarana faha-4

Π― ΠΎΡ‡Π΅Π½ΡŒ Π³ΠΎΡ€ΠΆΡƒΡΡŒ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ сами выступали Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наш ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π», Π½Π΅ доТидаясь ΠΆΠ°Π»ΠΎΠ± ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². ВсС Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΎΡΡŒ достаточно просто – Ρƒ нас Π±Ρ‹Π»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Python ΠΈ нСсколько бэк-офисных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Ruby, Π½ΠΎ всС стало Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ интСрСснСй, ΠΊΠΎΠ³Π΄Π° наши Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ заявили, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Ρ‹ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ JVM ΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ пСрСвСсти Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Node.js. ПослС внСдрСния Docker Π²Π΅Ρ‰ΠΈ стали Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС. ΠœΡ‹ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎΠ²Π°Π»ΠΈΡΡŒ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹Π΅ Π½Π°ΠΌΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ стали Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π²Π½Π΅Π΄Ρ€ΠΈΠ»ΠΈ ΠΈΡ… для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅Π»ΠΈ большой смысл. РасскаТу Π²Π°ΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Ρ‚Π°ΠΊ.

API-шлюз Π½Π° самом Π΄Π΅Π»Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ endpoints для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. Они ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих скриптов Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ послС внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠ³Π»ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΡ… Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½ ΠΈ Π΄Π°Π»Π΅Π΅ Π½Π° устройства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΈ всС эти измСнСния ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ с endpoints, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Π»ΠΈΡΡŒ Π² API-шлюзС.

Однако это ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠ»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π°, ΠΊΠΎΠ³Π΄Π° слуТба API Π±Ρ‹Π»Π° ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π° ΠΊΠΎΠ΄ΠΎΠΌ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ сцСнарии сбоСв. НапримСр, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΡƒΠ΄Π°Π»ΡΠ»ΠΈΡΡŒ ΠΈΠ»ΠΈ ΠΆΠ΅ скрипты случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ вСрсий Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ, Ρ‡Ρ‚ΠΎ эти вСрсии Π·Π°Π½ΠΈΠΌΠ°Π»ΠΈ всю Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ API-сСрвиса.

Π›ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π±Ρ‹Π»ΠΎ Π²Π·ΡΡ‚ΡŒ эти endpoints ΠΈ Π²Ρ‹Ρ‚ΡΠ½ΡƒΡ‚ΡŒ ΠΈΡ… ΠΈΠ· API-сСрвиса. Для этого ΠΌΡ‹ создали ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Node.js, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Π»ΠΈΡΡŒ ΠΊΠ°ΠΊ нСбольшиС прилоТСния Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ… Docker. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΊΠΈ ΠΈ сбои, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Π΅ этими node-прилоТСниями.

Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ этих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ достаточно Π²Π΅Π»ΠΈΠΊΠ° ΠΈ складываСтся ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²:

  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹ΠΌΠΈ тСхнологиями Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ Π½ΠΎΠ²Ρ‹Ρ… инструмСнтов, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ UI-ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅ скрипты для создания эффСктивной ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Π»Π° Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ инфраструктурой, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Π»Π° Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ написаниСм скриптов ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ ΠΈΡ… работоспособности.
    Π˜Π½ΡΠ°ΠΉΡ‚ ΠΈ сортировка возмоТностСй β€” ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ инструмСнты, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для выявлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НуТно Π±Ρ‹Π»ΠΎ Π·Π½Π°Ρ‚ΡŒ, Π½Π° сколько % занят процСссор, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΈ сбор этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π» Ρ€Π°Π·Π½Ρ‹Ρ… инструмСнтов.
  • ЀрагмСнтация Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ² β€” простая базовая AMI стала Π±ΠΎΠ»Π΅Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ спСциализированной.
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡƒΠ·Π»Π°ΠΌΠΈ. НС сущСствуСт доступной Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΡƒΠ·Π»Π°ΠΌΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ΅, поэтому ΠΌΡ‹ создали Titus β€” ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ управлСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ, которая обСспСчиваСт ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с Amazon AWS.
  • Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹ΠΌ тСхнологиям ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ Π΅Π΅ дублирования Π² ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Node.js.
  • ΠšΡ€ΠΈΠ²Π°Ρ обучСния ΠΈ производствСнный ΠΎΠΏΡ‹Ρ‚. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ создаСт Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· Π½ΠΈΡ… ΡƒΡ€ΠΎΠΊΠΈ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎΠΉ Β«Π°ΡΡ„Π°Π»ΡŒΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉΒ» ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ постоянно ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ для продвиТСния своих Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Для сниТСния стоимости ΠΌΡ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ Ρ„ΠΎΠΊΡƒΡΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π½Π° JVM, Π½ΠΎΠ²Ρ‹Ρ… ΡƒΠ·Π»Π°Ρ… ΠΈ Docker. ΠœΡ‹ расставляли ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ ΠΏΠΎ стСпСни эффСктивного воздСйствия, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎ стоимости принятых ΠΈΠΌΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ стимулировали ΠΈΡ… ΠΈΡΠΊΠ°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ использования ΡƒΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… эффСктивных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. ΠœΡ‹ использовали этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ сСрвиса Π½Π° иностранныС языки для доставки ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простыС клиСнтскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ автоматичСски, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ достаточно Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Python-Π²Π΅Ρ€ΡΠΈΡŽ, Ruby-Π²Π΅Ρ€ΡΠΈΡŽ, Java-Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ Ρ‚.Π΄.

ΠœΡ‹ постоянно искали Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΠΊΠ°Ρ‚Π°Π½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»ΠΈ сСбя Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС, ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… ситуациях.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ послСднСм элСмСнтС – измСнСниях, ΠΈΠ»ΠΈ вариациях. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Π½Π΅Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ мСняСтся ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ нашСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΏΠΎ дням Π½Π΅Π΄Π΅Π»ΠΈ ΠΈ ΠΏΠΎ часам Π½Π° протяТСниС суток. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² 9 ΡƒΡ‚Ρ€Π° для Netflix наступаСт врСмя тяТСлых испытаний, ΠΊΠΎΠ³Π΄Π° Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° систСму достигаСт максимума.

QCon Conference. Mastering Chaos: The Netflix Guide to Microservices. Fizarana faha-4

Как ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ высокой скорости внСдрСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ постоянно Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ измСнСния Π² систСму, Π½Π΅ вызывая ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²ΠΎΠ² Π² доставкС сСрвиса ΠΈ Π½Π΅ создавая нСудобств нашим ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ? Netflix добились этого благодаря использованию Spinnaker – Π½ΠΎΠ²ΠΎΠΉ глобальной ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ управлСния ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ доставки (Π‘D).

QCon Conference. Mastering Chaos: The Netflix Guide to Microservices. Fizarana faha-4

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Spinnaker Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π½Π°ΡˆΠΈΡ… Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ развСртывания ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ нСпосрСдствСнно Π² Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ доставки ΠΌΠ΅Π΄ΠΈΠ°ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.

QCon Conference. Mastering Chaos: The Netflix Guide to Microservices. Fizarana faha-4

Нам ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ доставки Π΄Π²Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ высоко Ρ†Π΅Π½ΠΈΠΌ: Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ canary-Π°Π½Π°Π»ΠΈΠ· ΠΈ поэтапноС Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅. Canary-Π°Π½Π°Π»ΠΈΠ· ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ направляСм Ρ€ΡƒΡ‡Π΅Π΅ΠΊ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠΎΠ΄Π°, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½-Ρ‚Ρ€Π°Ρ„ΠΈΠΊ пропускаСм Ρ‡Π΅Ρ€Π΅Π· ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ провСряСм, ΠΊΠ°ΠΊ справляСтся с Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ – Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠ»ΠΈ Ρ…ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ.

ΠŸΠΎΡΡ‚Π°ΠΏΠ½ΠΎΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли с Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π΅Π³ΠΈΠΎΠ½Π΅ происходят ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ€Π΅Π³ΠΈΠΎΠ½Π΅. ΠŸΡ€ΠΈ этом Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ упомянутый Π²Ρ‹ΡˆΠ΅ чСклист. Π― Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ сэкономлю врСмя ΠΈ ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π²Π°ΠΌ ознакомится с ΠΌΠΎΠΈΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ выступлСниСм Β«Π˜Π½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Netflix Π² ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΌ сСрвисС», Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠ³Π»ΡƒΠ±ΠΆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с этим вопросом. Π’ΠΈΠ΄Π΅ΠΎΠ·Π°ΠΏΠΈΡΡŒ выступлСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, пройдя ΠΏΠΎ ссылкС Π²Π½ΠΈΠ·Ρƒ слайда.

QCon Conference. Mastering Chaos: The Netflix Guide to Microservices. Fizarana faha-4

Π’ ΠΊΠΎΠ½Ρ†Π΅ выступлСния я ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ расскаТу ΠΎΠ± ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Netflix. Π’ самом Π½Π°Ρ‡Π°Π»Π΅ Ρƒ нас Π±Ρ‹Π»Π° схСма ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Electronic Delivery – элСктронная доставка, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ²ΡˆΠ°Ρ собой ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΌΠ΅Π΄ΠΈΠ°ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° NRDP 1.x. Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Β«ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊΒ», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ воспроизвСдСния Π½Π° устройствС. Бамая пСрвая ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° элСктронной доставки Netflix ΠΎΠ±Ρ€Π°Π·Ρ†Π° 2009 Π³ΠΎΠ΄Π° выглядСла ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ.

QCon Conference. Mastering Chaos: The Netflix Guide to Microservices. Fizarana faha-4

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ устройство содСрТало Π² сСбС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Netflix, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ состояло ΠΈΠ· интСрфСйса UI, ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ бСзопасности, Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ сСрвиса ΠΈ воспроизвСдСния, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ NRDP β€” Netflix Ready Device Platform.

Π’ Ρ‚ΠΎ врСмя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Π±Ρ‹Π» ΠΎΡ‡Π΅Π½ΡŒ прост. Он содСрТал Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Queque Reader, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΠ» Π½Π° сайт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² Queque, Π° Π·Π°Ρ‚Π΅ΠΌ просматривал Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π½Π° своСм устройствС. ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π±Ρ‹Π»ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ клиСнтская ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈ сСрвСрная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Π»ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Electronic Delivery ΠΈ ΠΈΠΌΠ΅Π»ΠΈ тСсныС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ. ПолСзная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π±Ρ‹Π»Π° создана Π½Π° основС XML. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π±Ρ‹Π» создан API Netflix для DVD бизнСса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стимулировал сторонниС прилоТСния Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π² наш сСрвис.

Однако Netflix API Π±Ρ‹Π» Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π½Π°ΠΌ с ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ интСрфСйсом, Π² Π½Π΅ΠΌ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π»ΠΈΡΡŒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ всСго ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, свСдСния ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΠΌΡ‹ доступны, Ρ‡Ρ‚ΠΎ создавало Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ списки просмотра. Π£ Π½Π΅Π³ΠΎ Π±Ρ‹Π» ΠΎΠ±Ρ‰ΠΈΠΉ REST API, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΡΡ Π½Π° схСмС JSON, HTTP Response Code, Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² соврСмСнной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅, ΠΈ модСль бСзопасности OAuth – Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ Π² Ρ‚ΠΎ врСмя для внСшнСго прилоТСния. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ доставки ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΊ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠΉ.

QCon Conference. Mastering Chaos: The Netflix Guide to Microservices. Fizarana faha-4

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π²ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π² нашСй систСмС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π΄Π²Π° сСрвиса, основанныС Π½Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ β€” ΠΎΠ΄ΠΈΠ½ Π½Π° Rest, JSON ΠΈ OAuth, Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π½Π° RPC, XML ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ бСзопасности ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° основС систСмы Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² NTBA. Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° пСрвая гибридная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°.

По сущСству ΠΌΠ΅ΠΆΠ΄Ρƒ двумя нашими ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ сущСствовал Ρ„Π°ΠΉΡ€Π²ΠΎΠ», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ API Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π»ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NCCP, ΠΈ это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ разногласиям ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ. Различия Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈΡΡŒ Π² сСрвисах, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°Ρ…, схСмах, модулях бСзопасности, ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ часто ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ контСкстами.

QCon Conference. Mastering Chaos: The Netflix Guide to Microservices. Fizarana faha-4

Π’ связи с этим Ρƒ мСня Π±Ρ‹Π» Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡ‚Π°Ρ€ΡˆΠΈΡ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ я Π·Π°Π΄Π°Π» вопрос: Β«Π§Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ долгосрочная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°?Β», ΠΈ ΠΎΠ½ Π·Π°Π΄Π°Π» встрСчный вопрос: «ВСроятно, тСбя большС Π²ΠΎΠ»Π½ΡƒΡŽΡ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ послСдствия β€” Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли ΠΌΡ‹ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ эти Π²Π΅Ρ‰ΠΈ, Π° ΠΎΠ½ΠΈ ΡΠ»ΠΎΠΌΠ°ΡŽΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ?Β». Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½ для Π·Π°ΠΊΠΎΠ½Π° КонвСя: Β«ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ систСмы, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ структуру ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² этой ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈΒ». Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ абстрактноС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, поэтому я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅: Β«Π›ΡŽΠ±Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ структуру, которая Π΅Π³ΠΎ создала». ΠŸΡ€ΠΈΠ²Π΅Π΄Ρƒ Π²Π°ΠΌ ΠΌΠΎΠ΅ любимоС высказываниС, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅Π΅ Π­Ρ€ΠΈΠΊΡƒ Π Π΅ΠΉΠΌΠΎΠ½Π΄Ρƒ: «Если Π½Π°Π΄ компилятором Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‚ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π½Ρ‹ΠΉ компилятор». Π§Ρ‚ΠΎ ΠΆΠ΅, Netflix ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π½Ρ‹ΠΉ компилятор, ΠΈ это Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ.

МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² этом случаС хвост ΠΌΠ°ΡˆΠ΅Ρ‚ собакой. Π£ нас Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ мСстС Π½Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π° организация, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π° являСтся Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ. ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎ ΠΎΡ‚ ΠΌΠ΅ΡˆΠ°Π½ΠΈΠ½Ρ‹ сСрвисов ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π·Π²Π°Π»ΠΈ Blade Runner – Β«Π‘Π΅Π³ΡƒΡ‰ΠΈΠΉ ΠΏΠΎ лСзвию», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ здСсь Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Ρ… сСрвисах ΠΈ возмоТностях NCCP Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒΡΡ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² Zuul-прокси, API-шлюз, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ «куски» Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½Ρ‹ Π² Π½ΠΎΠ²Ρ‹Π΅ микросСрвисы с Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΌΠΈ функциями бСзопасности, воспроизвСдСния, сортировки Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚.Π΄.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ вСдомствСнныС структуры ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ° развития ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π° систСм ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΏΡΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ измСнСниям. АрхитСктура микросСрвисов являСтся комплСксной ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΡ‡Π½ΠΎΠΉ, Π° Π΅Π΅ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ базируСтся Π½Π° дисциплинС ΠΈ внСдряСмом хаосС.

Doka kely

Misaotra anao nijanona niaraka taminay. Tianao ve ny lahatsoratray? Te-hahita votoaty mahaliana kokoa? Tohano izahay amin'ny fametrahana baiko na fanolorana amin'ny namana, cloud VPS ho an'ny mpamorona manomboka amin'ny $4.99, analogue tsy manam-paharoa amin'ny mpizara ambaratonga fidirana, izay noforoninay ho anao: Ny marina rehetra momba ny VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps avy amin'ny $19 na ahoana no hizarana mpizara? (misy miaraka amin'ny RAID1 sy RAID10, hatramin'ny 24 cores ary hatramin'ny 40GB DDR4).

Dell R730xd 2x mora kokoa amin'ny foibe data Equinix Tier IV any Amsterdam? Eto ihany 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV manomboka amin'ny $199 any Holandy! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - manomboka amin'ny $99! Vakio ny momba ny Ahoana ny fananganana infrastructure corp. kilasy amin'ny fampiasana mpizara Dell R730xd E5-2650 v4 mitentina 9000 euros amin'ny denaria iray?

Source: www.habr.com

Add a comment