ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСм: общая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° ΠΈ ΠΏΡƒΡ‚Π΅Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ рСсурсам

ЗдравствуйтС, ΠΊΠΎΠ»Π»Π΅Π³ΠΈ.

БСгодня Π½Π° ваш суд прСдлагаСтся ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π’ΡƒΠ³Π±Π΅Ρ€ΠΊΠ° Π£Π³ΡƒΡ€Π»Ρƒ (Tugberk Ugurlu), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ взялся Π² ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшом объСмС ΠΈΠ·Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ проСктирования соврСмСнных софтвСрных систСм. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΡ€ сообщаСт ΠΎ сСбС Π² сухом остаткС:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСм: общая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° ΠΈ ΠΏΡƒΡ‚Π΅Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ рСсурсам
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π΅ΡˆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π² Ρ…Π°Π±Ρ€ΠΎΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ, ΠΊΠ°ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ + ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ проСктирования ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° 2019 Π³ΠΎΠ΄, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сам тСкст господина Π£Ρ€ΡƒΠ³Π»Ρƒ, Π½ΠΎ ΠΈ многочислСнныС ссылки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ Π² Π½Π΅ΠΌ любСзно расставил. Если Π²Π°ΠΌ понравится β€” ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ·ΠΊΠΎΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ тСкст ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ распрСдСлСнных систСм.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСм: общая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° ΠΈ ΠΏΡƒΡ‚Π΅Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ рСсурсам

Π‘Π½ΠΈΠΌΠΎΠΊ АйзСка Π‘ΠΌΠΈΡ‚Π° с сайта Unsplash

Если Π²Π°ΠΌ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ софтвСрной систСмы с нуля, Ρ‚ΠΎ, приступая ΠΊ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ Π½Π΅ понятно, с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ. Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ сначала трСбуСтся ΠΎΡ‡Π΅Ρ€Ρ‚ΠΈΡ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ – Π·Π°ΠΊΠ°Ρ‚Π°Ρ‚ΡŒ Ρ€ΡƒΠΊΠ°Π²Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π½Π΅ выходя Π·Π° эти Π³Ρ€Π°Π½ΠΈΡ†Ρ‹. Π’ качСствС ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈΠ»ΠΈ сСрвис (Π² ΠΈΠ΄Π΅Π°Π»Π΅ – Ρ‚Π°ΠΊΠΎΠΉ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ нравится) ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΏΠΎΡ€Π°Π·ΠΈΡ‚Π΅ΡΡŒ, насколько просто выглядит Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, ΠΈ какая огромная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Π½Π΅ΠΌ Π½Π° самом Π΄Π΅Π»Π΅ скрыта. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅: простоС – ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ слоТноС, ΠΈ это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

Π”ΡƒΠΌΠ°ΡŽ, Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ совСт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я ΠΌΠΎΠ³Ρƒ Π΄Π°Ρ‚ΡŒ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ приступаСт ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ систСмы, Ρ‚Π°ΠΊΠΎΠ²: Π½Π΅ допускайтС Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄ΠΎΠΏΡƒΡ‰Π΅Π½ΠΈΠΉ! Π‘ самого Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΊΡ‚Ρ‹, извСстныС ΠΎΠ± этой систСмС, ΠΈ связанныС с нСю оТидания. Π’ΠΎΡ‚ нСсколько Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… вопросов, ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ:

  • Какова ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ пытаСмся Ρ€Π΅ΡˆΠΈΡ‚ΡŒ?
  • Каково ΠΏΠΈΠΊΠΎΠ²ΠΎΠ΅ количСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с нашСй систСмой?
  • КакиС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ записи ΠΈ считывания Π΄Π°Π½Π½Ρ‹Ρ… Ρƒ нас Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ?
  • ΠšΠ°ΠΊΠΎΠ²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅ случаи ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ², ΠΊΠ°ΠΊ ΠΌΡ‹ собираСмся с Π½ΠΈΠΌΠΈ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ?
  • КакиС оТидания ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊ согласованности ΠΈ доступности систСмы?
  • ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡΡ Π»ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ трСбования, связанныС с внСшнСй ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ ΠΈ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ?
  • КакиС разновидности ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΡ‹ собираСмся Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ?

Π­Ρ‚ΠΎ всСго нСсколько вопросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΊΠ°ΠΊ ΠΌΠ½Π΅, Ρ‚Π°ΠΊ ΠΈ Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ½Π΅ довСлось ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° Π³ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Если Π²Π°ΠΌ извСстны ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° эти вопросы (ΠΈ Π½Π° Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½Ρ‹Π΅ Π² Ρ‚ΠΎΠΌ контСкстС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Π°ΠΌ приходится Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ постСпСнно ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ Π² тСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π—Π°Π΄Π°Π΅ΠΌ исходный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ

Π§Ρ‚ΠΎ я понимаю здСсь ΠΏΠΎΠ΄ «исходным ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌΒ» (baseline)? БобствСнно, Π² наши Π²Ρ€Π΅ΠΌΠ΅Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² софтвСрной индустрии Β«ΠΌΠΎΠΆΠ½ΠΎΒ» Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. БоотвСтствСнно, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡΡΡŒ Π² этом Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π΅, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ„ΠΎΡ€Ρƒ, ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡΡΡŒ с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π΄ΠΎ вас. НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΈΡˆΡƒΡ‚ΡΡ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ бизнСса ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, поэтому ΠΌΡ‹ стрСмимся Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ самым прямолинСйным ΠΈ простым (с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ) способом. ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ± этом Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ? ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π²Π°ΠΌ Π² вашСй систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ нравится ΠΏΠΎΠ΄Ρ‹ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ для всСх Π·Π°Π΄Π°Ρ‡ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ считаСтС, Β«ΠΊΠ°ΠΊΠΎΠΉ ΠΆΠ΅ я программист, Ссли ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌΒ»? На самом Π΄Π΅Π»Π΅, искусство здСсь Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² принятии Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΎ Ρ‚ΠΎΠΌ, Π³Π΄Π΅ ΠΈ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. РазумССтся, Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΈΠ· нас врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ приходится ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… – настоящий Π²Ρ‹Π·ΠΎΠ². Однако, Ссли наш исходный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΡ‡Π΅Ρ€Ρ‡Π΅Π½, Ρ‚ΠΎ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Π½Π° Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ силы: Π½Π° поиск Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, Π»ΠΈΠ±ΠΎ Π½Π° Π΅Π΅ дальнСйшСС ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.

Π”ΡƒΠΌΠ°ΡŽ, ΠΌΠ½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ вас ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ, Ссли спСциалист ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ разбираСтся Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠ²Π° архитСктурная ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… софтвСрных систСм, Ρ‚ΠΎ эти знания Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ для овладСния искусством Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΈ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ солидного базиса Π² этой сфСрС.

Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚Π°ΠΊ с Ρ‡Π΅Π³ΠΎ ΠΆΠ΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ? Π£ Π”ΠΎΠ½Π½Π° ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° Π΅ΡΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° GitHub ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ system-design-primer, ΠΏΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ смоТСтС Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… систСм, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΊ собСсСдованиям Π½Π° эту Ρ‚Π΅ΠΌΡƒ. Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π» с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, Π³Π΄Π΅, Π² частности, рассмотрСно, ΠΊΠ°ΠΊ подходят ΠΊ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ своих систСм Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстныС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Twitter, Uber, Ρ‚.Π΄.

Однако, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ этому ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρƒ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ разбСрСмся с Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ приходится ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ приходится ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠœΠΠžΠ–Π•Π‘Π’Π’Πž аспСктов Π½Π΅ΠΏΠΎΠ΄Π°Ρ‚Π»ΠΈΠ²ΠΎΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π΅Π΅ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π² Π΄Π°Π½Π½ΠΎΠΉ систСмС. ДТСксон Π“Π°Π±Π±Π°Ρ€Π΄, Π±Ρ‹Π²ΡˆΠΈΠΉ сотрудник Facebook, записал 50-ΠΌΠΈΠ½ΡƒΡ‚Π½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ собСсСдованиях, посвящСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ систСм, Π³Π΄Π΅ подСлился собствСнным ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΏΠΎ отсмотру сотСн соискатСлСй. ΠŸΡ€ΠΈΡ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½ΠΎ касаСтся проСктирования Π±ΠΎΠ»ΡŒΡˆΠΈΡ… систСм ΠΈ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΠΈ, Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΈ подыскивании ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° Π½Π° Ρ‚Π°ΠΊΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, ΠΎΠ½ΠΎ, всС-Ρ‚Π°ΠΊΠΈ, послуТит ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌ рСсурсом ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ систСм. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ содСрТаниС этого Π²ΠΈΠ΄Π΅ΠΎ.

НарабатывайтС знания ΠΎ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, вашС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ваши Π΄Π°Π½Π½Ρ‹Π΅, критичСски сказываСтся Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅ характСристики записи ΠΈ считывания Π΄Π°Π½Π½Ρ‹Ρ… Π² вашСй систСмС. Π—Π°Ρ‚Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ эти ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€, исходя ΠΈΠ· сдСланных ΠΎΡ†Π΅Π½ΠΎΠΊ. Однако, эффСктивно ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с этой Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ Π²Ρ‹ смоТСтС лишь Π² случаС, Ссли Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°Ρ… хранСния Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, это ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ знания, связанныС с ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΎΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ структурами Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ присуща ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ Π΄ΠΎΠ»Π³ΠΎΠ²Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π·Π½Π°Π½ΠΈΠ΅ структур Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ вСсьма пригодится Π²Π°ΠΌ ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Redis – это сСрвСр структур Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Он позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚Π°ΠΊΠΈΠΌΠΈ структурами Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ списки ΠΈ мноТСства, ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ общСизвСстных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, LRU, организуя Ρ‚Π°ΠΊΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Π΄ΠΎΠ»Π³ΠΎΠ²Π΅Ρ‡Π½ΠΎΠΌ ΠΈ высокодоступном стилС.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСм: общая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° ΠΈ ΠΏΡƒΡ‚Π΅Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ рСсурсам

Π‘Π½ΠΈΠΌΠΎΠΊ Бэмюэла Π—Π΅Π»Π»Π΅Ρ€Π° с сайта Unsplash

Когда Π²Ρ‹ Π² достаточной стСпСни ΡΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°Ρ… хранСния Π΄Π°Π½Π½Ρ‹Ρ… – ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ согласованности ΠΈ доступности Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π²Π°ΠΌ потрСбуСтся ΡƒΡΠ²ΠΎΠΈΡ‚ΡŒ CAP-Ρ‚Π΅ΠΎΡ€Π΅ΠΌΡƒ хотя Π±Ρ‹ Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ…, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΡˆΠ»ΠΈΡ„ΠΎΠ²Π°Ρ‚ΡŒ эти знания, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ рассмотрСв ΡƒΡΡ‚ΠΎΡΠ²ΡˆΠΈΠ΅ΡΡ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ согласованности ΠΈ доступности. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ Π½Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠ³ΠΎΠ·ΠΎΡ€ Π² этой области ΠΈ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ считываниС ΠΈ запись Π΄Π°Π½Π½Ρ‹Ρ… – это Π½Π° самом Π΄Π΅Π»Π΅ Π΄Π²Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΈ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… сопряТСны свои особыС Π²Ρ‹Π·ΠΎΠ²Ρ‹. Π’ΠΎΠΎΡ€ΡƒΠΆΠΈΠ²ΡˆΠΈΡΡŒ нСсколькими ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌΠΈ обСспСчСния согласованности ΠΈ доступности, Π²Ρ‹ смоТСтС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ€Π°ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы, ΠΏΡ€ΠΈ этом Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π² Π±Π΅ΡΠΏΠ΅Ρ€Π΅Π±ΠΎΠΉΠ½ΡƒΡŽ ΠΏΠΎΠ΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² ваши прилоТСния.

НаконСц, Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ ΠΎ вопросах хранСния Π΄Π°Π½Π½Ρ‹Ρ…, слСдуСт ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΈ ΠΎ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π”ΠΎΠ»ΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈ Π½Π° сСрвСрС? КакиС Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ρƒ вас Π² кэшС? И ΠΏΠΎΡ‡Π΅ΠΌΡƒ? Как Π²Ρ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅Ρ‚Π΅ ΠΈΠ½Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ кэша? Π‘ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ ΠΎΠ½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ рСгулярно, Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ? Если Π΄Π° – Ρ‚ΠΎ ΠΊΠ°ΠΊ часто? ΠŸΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ этих Ρ‚Π΅ΠΌ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π½Π°Ρ‡Π°Ρ‚ΡŒ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΠΎΠ³ΠΎ букваря ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ систСм.

ΠšΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹

БистСмы состоят ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²; это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π·Π½Ρ‹Π΅ процСссы, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ физичСского ΡƒΠ·Π»Π°, Ρ‚Π°ΠΊ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Ρ€Π°Π·Π½Ρ‹Ρ… частях вашСй сСти. НСкоторыС ΠΈΠ· этих рСсурсов Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… вашСй сСти ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌΠΈ, Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ для ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΊ Π½ΠΈΠΌ ΠΈΠ·Π²Π½Π΅.

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСм: общая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° ΠΈ ΠΏΡƒΡ‚Π΅Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ рСсурсам

Π‘Π½ΠΈΠΌΠΎΠΊ Π’ΠΎΠ½ΠΈ Π‘Ρ‚ΠΎΠ΄Π΄Π°Ρ€Π΄Π° с сайта Unsplash

ΠŸΡ€ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ с внСшним ΠΌΠΈΡ€ΠΎΠΌ всСгда ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ со всСй ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Сю Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ.

РаспрСдСлСниС соСдинСний

НС ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ вынСсСниС этой Ρ‚Π΅ΠΌΡ‹ Π² ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» всСм покаТСтся ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½Ρ‹ΠΌ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎ ΠΈΠ·Π»ΠΎΠΆΡƒ здСсь эту ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ, ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» этого Ρ€Π°Π·Π΄Π΅Π»Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ всСго описываСтся ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ «распрСдСлСниС соСдинСний» (connection distribution).

БистСмы Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ соСдинСния мноТСства ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΈ ΠΈΡ… коммуникация Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ организуСтся Π½Π° Π±Π°Π·Π΅ ΡƒΡΡ‚ΠΎΡΠ²ΡˆΠΈΡ…ΡΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, TCP ΠΈ UDP. Однако, этих ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²Ρ‹Ρ… Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ нСдостаточно для удовлСтворСния всСх Π½ΡƒΠΆΠ΄ соврСмСнных систСм, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ сильно зависят ΠΎΡ‚ потрСбностСй ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Часто Π±Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·Ρ‹ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ способы распрСдСлСния соСдинСний, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с Ρ‚Π°ΠΊΠΈΠΌΠΈ высокими Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌΠΈ Π² систСмС.

Π’ основС Ρ‚Π°ΠΊΠΎΠ³ΠΎ распрСдСлСния Π»Π΅ΠΆΠΈΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстная систСма Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ (DNS). Вакая систСма позволяСт ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π·Π²Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΉ цикличСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ (weighted round robin) ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π° основС Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ.

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π²Π°ΠΆΠ½Π°, ΠΈ практичСски любая крупная систСма Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π°ΠΌ сСгодня приходится ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ, располоТСна Π·Π° ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ нСсколькими балансировщиками Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Балансировщики Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ клиСнтскиС запросы ΠΏΠΎ мноТСству доступных инстансов. Балансировщики Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠ°ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ‡Π°Ρ‰Π΅ приходится ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с HAProxy ΠΈ ELB. ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ прокси ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° балансировщики Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, хотя, ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ ΠΈ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΅ΡΡ‚ΡŒ ряд ΠΎΡ‚Ρ‡Π΅Ρ‚Π»ΠΈΠ²Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ. Π­Ρ‚ΠΈ различия ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, проСктируя систСму с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π²Π°ΡˆΠΈΡ… потрСбностСй.

Π’Π°ΠΊΠΆΠ΅ слСдуСт Π·Π½Π°Ρ‚ΡŒ ΠΎ сСтях доставки ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° (CDN). CDN – это глобальная распрСдСлСнная ΡΠ΅Ρ‚ΡŒ прокси-сСрвСров, Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Ρ‚Π΅Ρ… ΡƒΠ·Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ гСографичСски располоТСны Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Π‘Π΅Ρ‚ΠΈ CDN ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ со статичСскими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, написанными Π½Π° JavaScript, CSS ΠΈ HTML. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сСгодня распространСны Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвисы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ диспСтчСры Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Azure Traffic Manager, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π²Π°ΠΌ глобальноС распрСдСлСниС ΠΈ сниТСнныС Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с динамичСским ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ. Однако, Ρ‚Π°ΠΊΠΈΠ΅ сСрвисы ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° приходится Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π²Π΅Π±-сСрвисами Π±Π΅Π· сохранСния состояния.

ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ΅. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ, ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ успСли ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ инфраструктурныС аспСкты систСмы. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄Π°ΠΆΠ΅ Π½Π΅ задумываСтся ΠΎΠ±ΠΎ всСх этих элСмСнтах вашСй систСмы ΠΈ, чСстно говоря, ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΏΠΎ ΠΈΡ… ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Π½Π΅ парится. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ интСрСсуСт, ΠΊΠ°ΠΊΠΎΠ²ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с вашСй систСмой, Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, поступив Π²ΠΎΡ‚ Ρ‚Π°ΠΊ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ систСма выполняСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Π΅Ρ‚ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Как понятно ΠΈΠ· названия Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ, я собирался Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π² Π½Π΅ΠΉ ΠΎ софтвСрной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ систСм. БоотвСтствСнно, я Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π» ΠΎΡΠ²Π΅Ρ‰Π°Ρ‚ΡŒ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ проСктирования ПО, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Однако, Ρ‡Π΅ΠΌ большС я ΠΎΠ± этом Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»ΡΡŽ, Ρ‚Π΅ΠΌ большС ΠΌΠ½Π΅ каТСтся, Ρ‡Ρ‚ΠΎ Π³Ρ€Π°Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌΠΈ проСктирования ПО ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌΠΈ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·ΠΌΡ‹Ρ‚Π°, ΠΈ Π΄Π²Π΅ эти ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ тСсно связаны. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ событий (event sourcing). Π‘Ρ‚ΠΎΠΈΡ‚ Π²Π°ΠΌ Π²Π·ΡΡ‚ΡŒ Π½Π° Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ этот Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ – ΠΈ ΠΎΠ½ повлияСт практичСски Π½Π° всС аспСкты вашСй систСмы: Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ согласованности, принятый Π² вашСй систСмС, очСртания ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² Π½Π΅ΠΉ, ΠΈ Ρ‚.Π΄., ΠΈ Ρ‚.ΠΏ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹, нСпосрСдствСнно ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ. ΠŸΡƒΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ придСтся ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ простым списком, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π²Π°ΠΌ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π½ΠΈΠΌ ΠΈ ΠΎΠ±Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΈΠ΄Π΅ΠΈ, связанныС с этими ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌΠΈ. Π’ΠΎΡ‚, поТалуйста:

ΠšΠΎΠ»Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСм: общая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° ΠΈ ΠΏΡƒΡ‚Π΅Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ рСсурсам

Π‘Π½ΠΈΠΌΠΎΠΊ Kaleidico с сайта Unsplash

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ потрСбуСтся Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΈ ΠΎΠ±Ρ‰Π΅ΠΏΡ€ΠΈΠ·Π½Π°Π½Π½ΠΎΠ΅ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠ²Π° Ρ‚Π° бизнСс-Ρ†Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ, ΠΈ с ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½Ρ‹ΠΌΠΈ элСмСнтами ΠΏΡ€ΠΈ этом придСтся ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ. ΠŸΡ€ΠΈΠ΅ΠΌΡ‹ Π³Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠ³ΠΎ модСлирования, Π² частности, ΡˆΡ‚ΡƒΡ€ΠΌ событий (event storming) ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ этот процСсс ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ ваши ΡˆΠ°Π½ΡΡ‹ Π½Π° успСх. Π­Ρ‚ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π½ΡΡ‚ΡŒΡΡ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΎΡ‡Π΅Ρ€Ρ‚ΠΈΡ‚Π΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π²Π°ΡˆΠΈΡ… сСрвисов, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ созрСвания ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. ΠžΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° Ρ‚ΠΎΡ‚ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ согласованности, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ достигнут здСсь, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ язык для Ρ‚ΠΎΠ³ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ контСкста, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Когда потрСбуСтся Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ± Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ вашСй систСмы, для этого Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ модСль C4, прСдлоТСнная Π‘Π°ΠΉΠΌΠΎΠ½ΠΎΠΌ Π‘Ρ€Π°ΡƒΠ½ΠΎΠΌ, особСнно ΠΊΠΎΠ³Π΄Π° трСбуСтся ΠΏΠΎΠ½ΡΡ‚ΡŒ, насколько Π²Π°ΠΌ придСтся ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ Π² Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, визуализируя Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ.

ВСроятно, Π² этой Ρ‚Π΅ΠΌΠ΅ найдСтся ΠΈ другая зрСлая тСхнология, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ полСзная, Ρ‡Π΅ΠΌ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Однако, ΠΌΡ‹ Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ возвращаСмся ΠΊ пониманию ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области, поэтому знания ΠΈ ΠΎΠΏΡ‹Ρ‚ Π² сфСрС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Π°ΠΌ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com