Π“Ρ€Π°Π΄Π΅ΠΆΠ½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π½Π° дистрибуирани Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π’Ρ‚ΠΎΡ€ΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΡƒΠ²Π°ΡšΠ΅

Π‘ΠΎΠΎΠΏΡˆΡ‚Π΅Π½ΠΈΠ΅

КолСги, Π²ΠΎ срСдината Π½Π° Π»Π΅Ρ‚ΠΎΡ‚ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌ Π΄Π° објавам ΡƒΡˆΡ‚Π΅ Π΅Π΄Π½Π° ΡΠ΅Ρ€ΠΈΡ˜Π° написи Π·Π° Π΄ΠΈΠ·Π°Ρ˜Π½ΠΎΡ‚ Π½Π° систСмитС Π·Π° Ρ€Π΅Π΄ΠΈΡ†ΠΈ: β€žΠ•ΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΎΡ‚ VTradeβ€œ - ΠΎΠ±ΠΈΠ΄ Π΄Π° сС напишС Ρ€Π°ΠΌΠΊΠ° Π·Π° трговски систСми. Π‘Π΅Ρ€ΠΈΡ˜Π°Ρ‚Π° ќС ја испита Ρ‚Π΅ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ‚Π° Π½Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ Ρ€Π°Π·ΠΌΠ΅Π½Π°, Π°ΡƒΠΊΡ†ΠΈΡ˜Π° ΠΈ ΠΏΡ€ΠΎΠ΄Π°Π²Π½ΠΈΡ†Π°. На ΠΊΡ€Π°Ρ˜ΠΎΡ‚ ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΠΈΡ˜Π°Ρ‚Π°, Π²Π΅ ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π°ΠΌ Π΄Π° гласатС Π·Π° Ρ‚Π΅ΠΌΠΈΡ‚Π΅ ΠΊΠΎΠΈ Π½Π°Ρ˜ΠΌΠ½ΠΎΠ³Ρƒ Π²Π΅ интСрСсираат.

Π“Ρ€Π°Π΄Π΅ΠΆΠ½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π½Π° дистрибуирани Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π’Ρ‚ΠΎΡ€ΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΡƒΠ²Π°ΡšΠ΅

Ова Π΅ послСдната ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° ΠΎΠ΄ ΡΠ΅Ρ€ΠΈΡ˜Π°Ρ‚Π° Π·Π° дистрибуирани Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π²ΠΎ Erlang/Elixir. Π’Πž ΠΏΡ€Π²Π°Ρ‚Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ Π½Π°Ρ˜Π΄Π΅Ρ‚Π΅ тСорСтскитС основи Π½Π° Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. Π’Ρ‚ΠΎΡ€Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° Π³ΠΈ илустрира основнитС обрасци ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€Π°ΡšΠ΅ Π½Π° Π²Π°ΠΊΠ²ΠΈ систСми.

ДСнСс ќС ΠΏΠΎΠΊΡ€Π΅Π½Π΅ΠΌΠ΅ ΠΏΡ€Π°ΡˆΠ°ΡšΠ° Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ.

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° услуги

Π’ΠΎ Ρ€Π΅Π°Π»Π½ΠΈΠΎΡ‚ ΠΆΠΈΠ²ΠΎΡ‚, ΠΊΠΎΠ³Π° Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚Π΅ услуга, чСстопати Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° Π²ΠΎ Π΅Π΄Π΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, услугата Π·Π° корисници, која Π³ΠΎ Ρ€Π΅ΡˆΠ°Π²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ со ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ со корисничкитС ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚, ΠΌΠΎΡ€Π° Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° req-resp ΠΈ Π΄Π° извСстува Π·Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΎΡ‚ ΠΏΡ€Π΅ΠΊΡƒ pub-sub. Овој ΡΠ»ΡƒΡ‡Π°Ρ˜ Π΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ СдноставСн: Π·Π°Π΄ ΠΏΠΎΡ€Π°ΠΊΠΈΡ‚Π΅ ΠΈΠΌΠ° Π΅Π΄Π΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ кој ја ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° услугата ΠΈ ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ°.

Π‘ΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° станува послоТСна ΠΊΠΎΠ³Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅ дистрибуирана услуга Ρ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ‚Π½Π° Π·Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. Π”Π° замислимС Π΄Π΅ΠΊΠ° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° Π·Π° корисницитС сС смСнија:

  1. сСга услугата Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° Π±Π°Ρ€Π°ΡšΠ° Π½Π° 5 кластСрски јазли,
  2. Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π° Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π·Π°Π΄Π½ΠΈΠ½Π°,
  3. ΠΈ исто Ρ‚Π°ΠΊΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡ΠΊΠΈ Π΄Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π° со списоцитС Π½Π° ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚ΠΈ Π·Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΎΡ‚.

ΠšΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€: НС Π³ΠΎ Ρ€Π°Π·Π³Π»Π΅Π΄ΡƒΠ²Π°ΠΌΠ΅ ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅Ρ‚ΠΎ Π·Π° ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π”Π° прСтпоставимС Π΄Π΅ΠΊΠ° ΠΎΠ²ΠΈΠ΅ ΠΏΡ€Π°ΡˆΠ°ΡšΠ° сС Ρ€Π΅ΡˆΠ΅Π½ΠΈ ΠΏΠΎΡ€Π°Π½ΠΎ ΠΈ систСмот вСќС ΠΈΠΌΠ° сигурСн ΠΈ скалабилСн слој Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅, Π° Ρ€Π°ΠΊΡƒΠ²Π°Ρ‡ΠΈΡ‚Π΅ ΠΈΠΌΠ°Π°Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° со Π½Π΅Π³ΠΎ.

ΠžΡ„ΠΈΡ†ΠΈΡ˜Π°Π»Π½ΠΈΠΎΡ‚ опис Π½Π° услугата Π·Π° корисници стана ΠΏΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡ†ΠΈΡ€Π°Π½. Од Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ сС ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° ΠΏΠΎΡ€Π°ΠΊΠΈ. Π—Π° Π΄Π° Π³ΠΎ Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΠΈΠΌΠ΅ ΠΏΡ€Π²ΠΎΡ‚ΠΎ Π±Π°Ρ€Π°ΡšΠ΅, Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ Π±Π°Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π²ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π° Π½Π° req-resp.

Π‘Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π²ΠΎ Π·Π°Π΄Π½ΠΈΠ½Π° сС Ρ˜Π°Π²ΡƒΠ²Π° чСсто. Кај корисницитС, ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° кориснички Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΌΡƒΠ»Ρ‚ΠΈΠΌΠ΅Π΄ΠΈΡ˜Π° ΠΈΠ»ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ со ΡΠΎΡ†ΠΈΡ˜Π°Π»Π½ΠΈΡ‚Π΅ ΠΌΠ΅Π΄ΠΈΡƒΠΌΠΈ. ΠΌΡ€Π΅ΠΆΠΈ. ОвиС Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Ρ€Π΅Π±Π° Π½Π΅ΠΊΠ°ΠΊΠΎ Π΄Π° сС распрСдСлат Π²ΠΎ кластСрот ΠΈ Π΄Π° сС слСди Π½Π°ΠΏΡ€Π΅Π΄ΠΎΠΊΠΎΡ‚ Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ. Π—Π°Ρ‚ΠΎΠ°, ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π΅ ΠΎΠΏΡ†ΠΈΠΈ Π·Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: ΠΈΠ»ΠΈ користСтС Π³ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½ΠΎΡ‚ Π·Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠ΄ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½Π°Ρ‚Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π°, ΠΈΠ»ΠΈ, Π°ΠΊΠΎ Π½Π΅ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°, Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ распорСдувач Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ ΡˆΡ‚ΠΎ ќС ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π° со Π±Π°Π·Π΅Π½ΠΎΡ‚ Π½Π° процСсори Π½Π° Π½Π°Ρ‡ΠΈΠ½ΠΎΡ‚ Π½Π° кој Π½ΠΈ Ρ‚Ρ€Π΅Π±Π°.

Π’ΠΎΡ‡ΠΊΠ°Ρ‚Π° 3 Π±Π°Ρ€Π° Π΅ΠΊΡΡ‚Π΅Π½Π·ΠΈΡ˜Π° Π½Π° ΡˆΠ°Π±Π»ΠΎΠ½ΠΎΡ‚ pub-sub. И Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°, ΠΏΠΎ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡƒΠ½ΠΊΡ‚ΠΎΡ‚ Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π° Π½Π° ΠΏΠ°Π±-ΠΏΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ стартувамС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΎΡ‚ Π½Π° ΠΎΠ²Π°Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π²ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° услуга. Π’Π°ΠΊΠ°, ΠΊΠ°ΠΊΠΎ Π΄Π° ја прСмСстувамС Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚ΠΈ ΠΈ ΠΎΡ‚ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ° ΠΎΠ΄ ΡΠ»ΠΎΡ˜ΠΎΡ‚ Π·Π° ΠΏΠΎΡ€Π°ΠΊΠΈ Π²ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° корисницитС.

Како Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, Ρ€Π°ΡΠΏΠ°Ρ“Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ ΠΏΠΎΠΊΠ°ΠΆΠ° Π΄Π΅ΠΊΠ° Π·Π° Π΄Π° Π³ΠΈ исполнимС Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π°, Ρ‚Ρ€Π΅Π±Π° Π΄Π° лансирамС 5 ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ Π½Π° услугата Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ јазли ΠΈ Π΄Π° создадСмС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ - ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π½Π° ΠΏΠ°Π±-ΠΏΠΎΠ΄, ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚Π°Ρ‚Π°.
Π—Π° Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ 5 Ρ€Π°ΠΊΡƒΠ²Π°Ρ‡ΠΈ, Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ ΠΌΠ΅Π½ΡƒΠ²Π°Ρ‚Π΅ сСрвисниот ΠΊΠΎΠ΄. ЕдинствСното Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π΅Ρ˜ΡΡ‚Π²ΠΎ Π΅ ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° Π±Π°Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ Π½Π° мСстото Π½Π° Ρ€Π°Π·ΠΌΠ΅Π½Π°, Π·Π° ΡˆΡ‚ΠΎ ќС Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ ΠΌΠ°Π»ΠΊΡƒ ΠΏΠΎΠ΄ΠΎΡ†Π½Π°.
Π˜ΡΡ‚ΠΎ Ρ‚Π°ΠΊΠ°, постои Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° слоТСност: ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΎΡ‚ Π·Π° pub-sub ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ΠΈΠΎΡ‚ распорСдувач Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΡ€Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π²ΠΎ Π΅Π΄Π½Π° копија. ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ, услугата Π·Π° ΠΏΠΎΡ€Π°ΠΊΠΈ, ΠΊΠ°ΠΊΠΎ основна, ΠΌΠΎΡ€Π° Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π»ΠΈΠ΄Π΅Ρ€.

Π˜Π·Π±ΠΎΡ€ Π½Π° Π»ΠΈΠ΄Π΅Ρ€

Π’ΠΎ дистрибуиранитС систСми, ΠΈΠ·Π±ΠΎΡ€ΠΎΡ‚ Π½Π° Π»ΠΈΠ΄Π΅Ρ€ Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π·Π° Π½Π°Π·Π½Π°Ρ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° СдинствСн процСс ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° Π·Π°ΠΊΠ°ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° дистрибуирана ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ Ρ‚ΠΎΠ²Π°Ρ€.

Π’ΠΎ систСми ΠΊΠΎΠΈ Π½Π΅ сС склони ΠΊΠΎΠ½ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°, сС користат ΡƒΠ½ΠΈΠ²Π΅Ρ€Π·Π°Π»Π½ΠΈ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ засновани Π½Π° консСнзус, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС paxos ΠΈΠ»ΠΈ raft.
Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ ΠΈΡΠΏΡ€Π°ΡœΠ°ΡšΠ΅Ρ‚ΠΎ ΠΏΠΎΡ€Π°ΠΊΠΈ Π΅ посрСдник ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»Π΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚, Π·Π½Π°Π΅ Π·Π° ситС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΈ Π½Π° услуги - Π»ΠΈΠ΄Π΅Ρ€ΠΈ Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΈ. ΠŸΠΎΡ€Π°ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°Π·Π½Π°Ρ‡ΠΈ Π»ΠΈΠ΄Π΅Ρ€ Π±Π΅Π· гласањС.

По ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ со Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π°, ситС услуги Π΄ΠΎΠ±ΠΈΠ²Π°Π°Ρ‚ систСмска ΠΏΠΎΡ€Π°ΠΊΠ° #'$leader'{exchange = ?EXCHANGE, pid = LeaderPid, servers = Servers}. Ако LeaderPid сС совпаѓа со pid Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ‚ процСс, Ρ‚ΠΎΡ˜ Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° Π»ΠΈΠ΄Π΅Ρ€, Π° листата Servers Π³ΠΈ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ситС јазли ΠΈ Π½ΠΈΠ²Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ.
Π’ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΡ‚ ΠΊΠΎΠ³Π° ќС сС појави Π½ΠΎΠ² ΠΈ ќС сС исклучи Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΎΡ‚ јазол Π½Π° кластСрот, Π΄ΠΎΠ±ΠΈΠ²Π°Π°Ρ‚ ситС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΈ Π½Π° услуги #'$slave_up'{exchange = ?EXCHANGE, pid = SlavePid, options = SlaveOpts} ΠΈ #'$slave_down'{exchange = ?EXCHANGE, pid = SlavePid, options = SlaveOpts} соодвСтно.

На овој Π½Π°Ρ‡ΠΈΠ½, ситС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ сС свСсни Π·Π° ситС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, Π° кластСрот Π΅ Π·Π°Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½ Π΄Π° ΠΈΠΌΠ° Π΅Π΄Π΅Π½ Π»ΠΈΠ΄Π΅Ρ€ Π²ΠΎ сСкоС Π²Ρ€Π΅ΠΌΠ΅.

ΠœΠ΅Π΄ΠΈΡ˜Π°Ρ‚ΠΎΡ€ΠΈ

Π—Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° слоТСни дистрибуирани процСси Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΊΠ°ΠΊΠΎ ΠΈ Π²ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° постоСчката Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π΅ Π΄Π° сС користат посрСдници.
Π—Π° Π΄Π° Π½Π΅ Π³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ΠΎΡ‚ Π½Π° услугата ΠΈ Π΄Π° Π½Π΅ Ρ€Π΅ΡˆΠΈΡ‚Π΅, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Ρ€ΡƒΡ‚ΠΈΡ€Π°ΡšΠ΅ ΠΈΠ»ΠΈ Π΅Π²ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎΡ€Π°ΠΊΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΡ‚Π΅ Ρ€Π°ΠΊΡƒΠ²Π°Ρ‡ со прокси ΠΏΡ€Π΅Π΄ услугата, кој ќС ја ΠΈΠ·Π²Ρ€ΡˆΠΈ Ρ†Π΅Π»Π°Ρ‚Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°.

ΠšΠ»Π°ΡΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° pub-sub Π΅ дистрибуирана Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со Π΄Π΅Π»ΠΎΠ²Π½ΠΎ Ρ˜Π°Π΄Ρ€ΠΎ ΡˆΡ‚ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° настани Π·Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Ρ†Π΅Π½ΠΈΡ‚Π΅ Π½Π° ΠΏΠ°Π·Π°Ρ€ΠΎΡ‚, ΠΈ слој Π·Π° пристап - N сСрвСри ΠΊΠΎΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ Π²Π΅Π±-сокСт API Π·Π° Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ.
Ако ΠΎΠ΄Π»ΡƒΡ‡ΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ, Ρ‚ΠΎΠ³Π°Ρˆ услугата Π·Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:

  • ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ воспоставува врски со ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. На страната Π½Π° сСрвСрот ΡˆΡ‚ΠΎ Π³ΠΎ ΠΏΡ€Π΅ΠΊΠΈΠ½ΡƒΠ²Π° ΡΠΎΠΎΠ±Ρ€Π°ΡœΠ°Ρ˜ΠΎΡ‚, сС стартува процСс Π·Π° ΡΠ΅Ρ€Π²ΠΈΡΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠ²Π°Π° врска.
  • Π’ΠΎ контСкст Π½Π° процСсот Π½Π° услуга, сС случува ΠΎΠ²Π»Π°ΡΡ‚ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚Π° Π½Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ°. ΠŸΡ€ΠΎΡ†Π΅ΡΠΎΡ‚ Π³ΠΎ ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΡ‚ Π½Π° ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚ΠΈ Π·Π° Ρ‚Π΅ΠΌΠΈ.
  • ΠžΡ‚ΠΊΠ°ΠΊΠΎ ќС сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° настан Π²ΠΎ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚, Ρ‚ΠΎΡ˜ сС доставува Π΄ΠΎ процСситС ΡˆΡ‚ΠΎ Π³ΠΈ сСрвисираат врскитС.

Π”Π° замислимС Π΄Π΅ΠΊΠ° ΠΈΠΌΠ°ΠΌΠ΅ 50000 ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚Π½ΠΈΡ†ΠΈ Π½Π° Ρ‚Π΅ΠΌΠ°Ρ‚Π° β€žΠ²Π΅ΡΡ‚ΠΈβ€œ. ΠŸΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚Π½ΠΈΡ†ΠΈΡ‚Π΅ сС распрСдСлуваат Ρ€Π°ΠΌΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 5 сСрвСри. Како Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, сСкоС Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅, ΠΊΠΎΠ΅ пристигнува Π΄ΠΎ мСстото Π½Π° Ρ€Π°Π·ΠΌΠ΅Π½Π°, ќС сС Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€Π° 50000 ΠΏΠ°Ρ‚ΠΈ: 10000 ΠΏΠ°Ρ‚ΠΈ Π½Π° сСкој сСрвСр, спорСд Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚Π½ΠΈΡ†ΠΈ Π½Π° Π½Π΅Π³ΠΎ. НС Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Сфикасна шСма, Π½Π΅Π»ΠΈ?
Π—Π° Π΄Π° ја ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠΌΠ΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°, Π΄Π° Π²ΠΎΠ²Π΅Π΄Π΅ΠΌΠ΅ прокси ΡˆΡ‚ΠΎ Π³ΠΎ ΠΈΠΌΠ° истото ΠΈΠΌΠ΅ ΠΊΠ°ΠΊΠΎ Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π°. Π“Π»ΠΎΠ±Π°Π»Π½ΠΈΠΎΡ‚ рСгистратор Π½Π° имиња ΠΌΠΎΡ€Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ Π²Ρ€Π°Ρ‚ΠΈ Π½Π°Ρ˜Π±Π»ΠΈΡΠΊΠΈΠΎΡ‚ процСс ΠΏΠΎ ΠΈΠΌΠ΅, ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ.

АјдС Π΄Π° Π³ΠΎ лансирамС овој прокси Π½Π° сСрвСритС Π½Π° ΡΠ»ΠΎΡ˜ΠΎΡ‚ Π·Π° пристап ΠΈ ситС наши процСси ΠΊΠΎΠΈ Π³ΠΎ опслуТуваат websocket api ќС сС ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚Π°Ρ‚ Π½Π° Π½Π΅Π³ΠΎ, Π° Π½Π΅ Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π° Π½Π° pub-sub Π²ΠΎ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚. ΠŸΡ€ΠΎΠΊΡΠΈ сС ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚ΠΈ Π½Π° Ρ˜Π°Π΄Ρ€ΠΎΡ‚ΠΎ само Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° СдинствСна ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚Π° ΠΈ ја Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€Π° Π΄ΠΎΡ˜Π΄ΠΎΠ²Π½Π°Ρ‚Π° ΠΏΠΎΡ€Π°ΠΊΠ° Π½Π° ситС свои ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚Π½ΠΈΡ†ΠΈ.
Како Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, 5 ΠΏΠΎΡ€Π°ΠΊΠΈ ќС Π±ΠΈΠ΄Π°Ρ‚ испратСни ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ ΠΈ сСрвСритС Π·Π° пристап, намСсто 50000.

Π ΡƒΡ‚ΠΈΡ€Π°ΡšΠ΅ ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅

Req-Resp

Π’ΠΎ Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΏΠΎΡ€Π°ΠΊΠΈ, ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ 7 стратСгии Π·Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° Π½Π° Π±Π°Ρ€Π°ΡšΠ°:

  • default. Π‘Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ сС ΠΈΡΠΏΡ€Π°ΡœΠ° Π΄ΠΎ ситС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΈ.
  • round-robin. Π‘Π°Ρ€Π°ΡšΠ°Ρ‚Π° сС Π½Π°Π±Ρ€ΠΎΡ˜ΡƒΠ²Π°Π°Ρ‚ ΠΈ Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½ΠΎ сС дистрибуираат ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΈΡ‚Π΅.
  • consensus. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΈΡ‚Π΅ ΠΊΠΎΠΈ слуТат Π½Π° услугата сС ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π½Π° Π²ΠΎΠ΄Π°Ρ‡ΠΈ ΠΈ Ρ€ΠΎΠ±ΠΎΠ²ΠΈ. Π‘Π°Ρ€Π°ΡšΠ°Ρ‚Π° сС ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ само Π΄ΠΎ Π»ΠΈΠ΄Π΅Ρ€ΠΎΡ‚.
  • consensus & round-robin. Π“Ρ€ΡƒΠΏΠ°Ρ‚Π° ΠΈΠΌΠ° Π»ΠΈΠ΄Π΅Ρ€, Π½ΠΎ Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° сС дистрибуираат ΠΌΠ΅Ρ“Ρƒ ситС Ρ‡Π»Π΅Π½ΠΎΠ²ΠΈ.
  • sticky. Π€ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° Ρ…Π°Ρˆ сС прСсмСтува ΠΈ сС Π΄ΠΎΠ΄Π΅Π»ΡƒΠ²Π° Π½Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΈΡ‚Π΅ Π±Π°Ρ€Π°ΡšΠ° со овој потпис ΠΎΠ΄Π°Ρ‚ кај истиот ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡.
  • sticky-fun. ΠŸΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π°, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° ΠΏΡ€Π΅ΡΠΌΠ΅Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ…Π°Ρˆ Π·Π° sticky Π±Π°Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅.
  • fun. Π‘Π»ΠΈΡ‡Π½ΠΎ Π½Π° sticky-fun, само Π²ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° Π³ΠΎ прСнасочитС, ΠΎΠ΄Π±ΠΈΠ΅Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ Π΄Π° Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅.

Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡ˜Π°Ρ‚Π° Π·Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° сС поставува ΠΊΠΎΠ³Π° Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π° Π΅ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π°.

ΠŸΠΎΠΊΡ€Π°Ρ˜ Π±Π°Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ, ΠΏΠΎΡ€Π°ΠΊΠΈΡ‚Π΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°Π°Ρ‚ Π΄Π° ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚Π΅ Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ΠΈ. АјдС Π΄Π° Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Ρ‚ΠΈΠΏΠΎΠ²ΠΈΡ‚Π΅ Π½Π° ΠΎΠ·Π½Π°ΠΊΠΈ Π²ΠΎ систСмот:

  • Ознака Π·Π° ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅. Π’ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΡ€Π΅ΠΊΡƒ која врска дошлС настанитС. Π‘Π΅ користи ΠΊΠΎΠ³Π° процСс Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ сС ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π° Π½Π° иста Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π°, Π½ΠΎ со Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ Π·Π° Ρ€ΡƒΡ‚ΠΈΡ€Π°ΡšΠ΅.
  • Ознака Π·Π° услуга. Π’ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ Ρ€Π°ΠΊΡƒΠ²Π°Ρ‡ΠΈ Π²ΠΎ Π³Ρ€ΡƒΠΏΠΈ Π·Π° Π΅Π΄Π½Π° услуга ΠΈ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡˆΠΈΡ€ΠΈΡ‚Π΅ моТноститС Π·Π° Ρ€ΡƒΡ‚ΠΈΡ€Π°ΡšΠ΅ ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅. Π—Π° ΡˆΠ΅ΠΌΠ°Ρ‚Π° req-resp, Ρ€ΡƒΡ‚ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π΅ Π»ΠΈΠ½Π΅Π°Ρ€Π½ΠΎ. Π˜ΡΠΏΡ€Π°ΡœΠ°ΠΌΠ΅ Π±Π°Ρ€Π°ΡšΠ΅ Π΄ΠΎ мСстото Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π°, Π° ΠΏΠΎΡ‚ΠΎΠ° Π³ΠΎ прСнСсува Π½Π° сСрвисот. Но, Π°ΠΊΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΠ΅ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡ΠΈΡ‚Π΅ Π²ΠΎ Π»ΠΎΠ³ΠΈΡ‡ΠΊΠΈ Π³Ρ€ΡƒΠΏΠΈ, Ρ‚ΠΎΠ³Π°Ρˆ Ρ€Π°Π·Π΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ сС Π²Ρ€ΡˆΠΈ со помош Π½Π° ΠΎΠ·Π½Π°ΠΊΠΈ. Кога ΠΎΠ΄Ρ€Π΅Π΄ΡƒΠ²Π°Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠ°, Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ ќС Π±ΠΈΠ΄Π΅ испратСно Π΄ΠΎ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½Π° Π³Ρ€ΡƒΠΏΠ° Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΈ.
  • Ознака Π·Π° Π±Π°Ρ€Π°ΡšΠ΅. Π’ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π°Ρ‚Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈ. Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ Π½Π°ΡˆΠΈΠΎΡ‚ систСм Π΅ асинхрон, Π·Π° Π΄Π° Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° услугата, Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π½Π°Π²Π΅Π΄Π΅ΠΌΠ΅ RequestTag ΠΊΠΎΠ³Π° ΠΈΡΠΏΡ€Π°ΡœΠ°ΠΌΠ΅ Π±Π°Ρ€Π°ΡšΠ΅. Од Π½Π΅Π³ΠΎ ќС ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π½Π° ΠΊΠΎΠ΅ Π±Π°Ρ€Π°ΡšΠ΅ дојдС Π΄ΠΎ нас.

Паб-под

Π—Π° pub-sub сè Π΅ ΠΌΠ°Π»ΠΊΡƒ поСдноставно. ИмамС Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π° Π½Π° која сС ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°Π°Ρ‚ ΠΏΠΎΡ€Π°ΠΊΠΈΡ‚Π΅. Π’ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π° дистрибуира ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΌΠ΅Ρ“Ρƒ ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΊΠΎΠΈ сС ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚ΠΈΠ»Π΅ Π½Π° ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈΡ‚Π΅ Π·Π° Ρ€ΡƒΡ‚ΠΈΡ€Π°ΡšΠ΅ ΡˆΡ‚ΠΎ ΠΈΠΌ сС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ (ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΎΠ²Π° Π΅ Π°Π½Π°Π»ΠΎΠ³Π½ΠΎ Π½Π° Ρ‚Π΅ΠΌΠΈΡ‚Π΅).

ΠŸΡ€ΠΈΡΠΏΠΎΡΠΎΠ±Π»ΠΈΠ²ΠΎΡΡ‚ ΠΈ Ρ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ†ΠΈΡ˜Π° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ

ΠŸΡ€ΠΈΡΠΏΠΎΡΠΎΠ±Π»ΠΈΠ²ΠΎΡΡ‚Π° Π½Π° систСмот ΠΊΠ°ΠΊΠΎ Ρ†Π΅Π»ΠΈΠ½Π° зависи ΠΎΠ΄ стСпСнот Π½Π° приспособливост Π½Π° слоСвитС ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° систСмот:

  • УслугитС сС Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈ со додавањС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ јазли Π²ΠΎ кластСрот со ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡ΠΈ Π·Π° ΠΎΠ²Π°Π° услуга. Π—Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΡ€ΠΎΠ±Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½Π° ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° Π·Π° Π±Π°Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅.
  • Π‘Π°ΠΌΠ°Ρ‚Π° услуга Π·Π° ΠΏΠΎΡ€Π°ΠΊΠΈ Π²ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° посСбСн кластСр Π³Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ сС скалира ΠΈΠ»ΠΈ со ΠΏΡ€Π΅ΠΌΠ΅ΡΡ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° особСно ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€Π΅Π½ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π° Π²ΠΎ ΠΎΠ΄Π΄Π΅Π»Π½ΠΈ јазли Π½Π° кластСрот, ΠΈΠ»ΠΈ со додавањС Π½Π° процСси Π½Π° прокси Π²ΠΎ особСно Π²Ρ‡ΠΈΡ‚Π°Π½ΠΈΡ‚Π΅ области Π½Π° кластСрот.
  • ΠŸΡ€ΠΈΡΠΏΠΎΡΠΎΠ±Π»ΠΈΠ²ΠΎΡΡ‚Π° Π½Π° Ρ†Π΅Π»ΠΈΠΎΡ‚ систСм ΠΊΠ°ΠΊΠΎ карактСристика зависи ΠΎΠ΄ флСксибилноста Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° ΠΈ способноста Π΄Π° сС ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π°Ρ‚ ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ кластСри Π²ΠΎ Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ Π»ΠΎΠ³ΠΈΡ‡ΠΊΠΈ Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚.

УспСхот Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ чСсто зависи ΠΎΠ΄ Сдноставноста ΠΈ Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° ΡΠΊΠ°Π»ΠΈΡ€Π°ΡšΠ΅. ΠŸΠΎΡ€Π°ΠΊΠΈ Π²ΠΎ Π½Π΅Ρ˜Π·ΠΈΠ½Π°Ρ‚Π° сСгашна Π²Π΅Ρ€Π·ΠΈΡ˜Π° растС Π·Π°Π΅Π΄Π½ΠΎ со Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. И Π΄Π° Π½ΠΈ нСдостига кластСр ΠΎΠ΄ 50-60 машини, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΡ€ΠΈΠ±Π΅Π³Π½Π΅ΠΌΠ΅ ΠΊΠΎΠ½ Ρ„Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΡ˜Π°. Π—Π° ΠΆΠ°Π», Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π·Π° Ρ„Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΡ˜Π° Π΅ Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ опсСгот Π½Π° овој напис.

Π Π΅Π·Π΅Ρ€Π²Π°Ρ†ΠΈΡ˜Π°

Кога Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π²ΠΌΠ΅ Π±Π°Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ, вСќС Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°Π²ΠΌΠ΅ Π·Π° вишок Π½Π° сСрвисни ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΈ. Π‘Π΅ΠΏΠ°ΠΊ, ΠΏΠΎΡ€Π°ΠΊΠΈΡ‚Π΅ исто Ρ‚Π°ΠΊΠ° ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€Π°Π½ΠΈ. Π’ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° ΠΏΠ°Π΄ Π½Π° јазол ΠΈΠ»ΠΈ машина, ΠΏΠΎΡ€Π°ΠΊΠΈΡ‚Π΅ Ρ‚Ρ€Π΅Π±Π° автоматски Π΄Π° сС ΠΎΠ±Π½ΠΎΠ²Π°Ρ‚ ΠΈ Π²ΠΎ Π½Π°Ρ˜ΠΊΡƒΡ ΠΌΠΎΠΆΠ΅Π½ Ρ€ΠΎΠΊ.

Π’ΠΎ ΠΌΠΎΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ користам Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ јазли ΠΊΠΎΠΈ Π³ΠΎ ΠΏΠΎΠ΄ΠΈΠ³Π½ΡƒΠ²Π°Π°Ρ‚ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΡ‚ Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° ΠΏΠ°Π΄. Erlang ΠΈΠΌΠ° стандардна ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° дистрибуиран Ρ€Π΅ΠΆΠΈΠΌ Π·Π° OTP Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Дистрибуираниот Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ€ΡˆΠΈ ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° нСуспСх со ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½Π°Ρ‚Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π° Π΄Ρ€ΡƒΠ³ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ лансиран јазол. ΠŸΡ€ΠΎΡ†Π΅ΡΠΎΡ‚ Π΅ транспарСнтСн; ΠΏΠΎ нСуспСх, Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° автоматски сС прСмСстува Π²ΠΎ Ρ˜Π°Π·ΠΎΠ»ΠΎΡ‚ Π·Π° ΠΎΡ‚ΠΊΠ°ΠΆΡƒΠ²Π°ΡšΠ΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚Π΅ повСќС Π·Π° ΠΎΠ²Π°Π° функционалност Ρ‚ΡƒΠΊΠ°.

ΠŸΠ΅Ρ€Ρ„ΠΎΡ€ΠΌΠ°Π½ΡΠΈ

АјдС Π΄Π° сС ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π±Π°Ρ€Π΅ΠΌ Π³Ρ€ΡƒΠ±ΠΎ Π΄Π° Π³ΠΈ спорСдимС пСрформанситС Π½Π° rabbitmq ΠΈ Π½Π°ΡˆΠΈΡ‚Π΅ сопствСни ΠΏΠΎΡ€Π°ΠΊΠΈ.
најдов ΠΎΡ„ΠΈΡ†ΠΈΡ˜Π°Π»Π½ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ rabbitmq Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ ΠΎΠ΄ Ρ‚ΠΈΠΌΠΎΡ‚ Π½Π° openstack.

Π’ΠΎ став 6.14.1.2.1.2.2. ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π³ΠΎ ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ ΠΎΠ΄ RPC CAST:
Π“Ρ€Π°Π΄Π΅ΠΆΠ½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π½Π° дистрибуирани Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π’Ρ‚ΠΎΡ€ΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΡƒΠ²Π°ΡšΠ΅

НСма Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌΠ΅ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ поставки Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° ОБ ΠΈΠ»ΠΈ erlang VM ΠΎΠ΄Π½Π°ΠΏΡ€Π΅Π΄. Услови Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅:

  • erl ΠΈΠ·Π±ΠΈΡ€Π°: +A1 +sbtu.
  • ВСстот Π²ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄Π΅Π½ erlang јазол сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π° Π½Π° Π»Π°ΠΏΡ‚ΠΎΠΏ со стар i7 Π²ΠΎ ΠΌΠΎΠ±ΠΈΠ»Π½Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°.
  • ΠšΠ»Π°ΡΡ‚Π΅Ρ€ тСстовитС сС Π²Ρ€ΡˆΠ°Ρ‚ Π½Π° сСрвСри со 10G ΠΌΡ€Π΅ΠΆΠ°.
  • ΠšΠΎΠ΄ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ Π΄ΠΎΠΊΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ. ΠœΡ€Π΅ΠΆΠ° Π²ΠΎ NAT Ρ€Π΅ΠΆΠΈΠΌ.

ВСст ΠΊΠΎΠ΄:

req_resp_bench(_) ->
  W = perftest:comprehensive(10000,
    fun() ->
      messaging:request(?EXCHANGE, default, ping, self()),
      receive
        #'$msg'{message = pong} -> ok
      after 5000 ->
        throw(timeout)
      end
    end
  ),
  true = lists:any(fun(E) -> E >= 30000 end, W),
  ok.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΎ 1: ВСстот сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π° Π½Π° Π»Π°ΠΏΡ‚ΠΎΠΏ со стара i7 ΠΌΠΎΠ±ΠΈΠ»Π½Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°. ВСстот, ΠΏΠΎΡ€Π°ΠΊΠΈΡ‚Π΅ ΠΈ услугата сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ Π½Π° Π΅Π΄Π΅Π½ јазол Π²ΠΎ Π΅Π΄Π΅Π½ Docker ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€:

Sequential 10000 cycles in ~0 seconds (26987 cycles/s)
Sequential 20000 cycles in ~1 seconds (26915 cycles/s)
Sequential 100000 cycles in ~4 seconds (26957 cycles/s)
Parallel 2 100000 cycles in ~2 seconds (44240 cycles/s)
Parallel 4 100000 cycles in ~2 seconds (53459 cycles/s)
Parallel 10 100000 cycles in ~2 seconds (52283 cycles/s)
Parallel 100 100000 cycles in ~3 seconds (49317 cycles/s)

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΎ 2: 3 јазли ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ машини ΠΏΠΎΠ΄ Π΄ΠΎΠΊΠ΅Ρ€ (NAT).

Sequential 10000 cycles in ~1 seconds (8684 cycles/s)
Sequential 20000 cycles in ~2 seconds (8424 cycles/s)
Sequential 100000 cycles in ~12 seconds (8655 cycles/s)
Parallel 2 100000 cycles in ~7 seconds (15160 cycles/s)
Parallel 4 100000 cycles in ~5 seconds (19133 cycles/s)
Parallel 10 100000 cycles in ~4 seconds (24399 cycles/s)
Parallel 100 100000 cycles in ~3 seconds (34517 cycles/s)

Π’ΠΎ ситС случаи, искористСноста Π½Π° процСсорот Π½Π΅ Π½Π°Π΄ΠΌΠΈΠ½ΡƒΠ²Π° 250%

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄

Π‘Π΅ Π½Π°Π΄Π΅Π²Π°ΠΌ Π΄Π΅ΠΊΠ° овој циклус Π½Π΅ΠΌΠ° Π΄Π° ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΊΠ°ΠΊΠΎ дСпонија ΠΈ ΠΌΠΎΠ΅Ρ‚ΠΎ искуство ќС Π±ΠΈΠ΄Π΅ ΠΎΠ΄ вистинска корист ΠΈ Π·Π° истраТувачитС Π½Π° дистрибуирани систСми ΠΈ Π·Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π°Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΈ сС Π½Π° самиот ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ Π½Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ дистрибуирани Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ Π·Π° Π½ΠΈΠ²Π½ΠΈΡ‚Π΅ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ систСми ΠΈ со интСрСс Π³ΠΎ Π³Π»Π΅Π΄Π°Π°Ρ‚ Erlang/Elixir , Π½ΠΎ ΠΈΠΌΠ°Ρ˜Ρ‚Π΅ сомнСТи Π΄Π°Π»ΠΈ Π²Ρ€Π΅Π΄ΠΈ...

Π€ΠΎΡ‚ΠΎ @chuttersnap

Π‘Π°ΠΌΠΎ рСгистрирани корисници ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° учСствуваат Π²ΠΎ Π°Π½ΠΊΠ΅Ρ‚Π°Ρ‚Π°. Најави сС, Π²ΠΈΠ΅ стС Π΄ΠΎΠ±Ρ€Π΅Π΄ΠΎΡ˜Π΄Π΅Π½ΠΈ.

Кои Ρ‚Π΅ΠΌΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΈ ΠΎΠΏΡ„Π°Ρ‚Π°ΠΌ ΠΏΠΎΠ΄Π΅Ρ‚Π°Π»Π½ΠΎ ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ ΡΠ΅Ρ€ΠΈΡ˜Π°Ρ‚Π° VTrade Experiment?

  • Π’Π΅ΠΎΡ€ΠΈΡ˜Π°: ΠΏΠ°Π·Π°Ρ€ΠΈ, Π½Π°Ρ€Π°Ρ‡ΠΊΠΈ ΠΈ Π½ΠΈΠ²Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅: DAY, GTD, GTC, IOC, FOK, MOO, MOC, LOO, LOC

  • Книга Π½Π° Π½Π°Ρ€Π°Ρ‡ΠΊΠΈ. Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΡΠΏΡ€ΠΎΠ²Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠ½ΠΈΠ³Π° со Π³Ρ€ΡƒΠΏΠΈΡ€Π°ΡšΠ°

  • Π’ΠΈΠ·ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° Ρ‚Ρ€Π³ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ: ΠΊΡ€Π»Π΅ΠΆΠΈ, шипки, Ρ€Π΅Π·ΠΎΠ»ΡƒΡ†ΠΈΠΈ. Како Π΄Π° складиратС ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π»Π΅ΠΏΠΈΡ‚Π΅

  • Π—Π°Π΄Π½Π° ΠΊΠ°Π½Ρ†Π΅Π»Π°Ρ€ΠΈΡ˜Π°. ΠŸΠ»Π°Π½ΠΈΡ€Π°ΡšΠ΅ ΠΈ Ρ€Π°Π·Π²ΠΎΡ˜. БлСдСњС Π½Π° Π²Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈΡ‚Π΅ ΠΈ истрага Π½Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΈ

  • API. АјдС Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ΠΌΠ΅ ΠΊΠΎΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΈ сС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅

  • Π‘ΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: PostgreSQL, Timescale, Tarantool Π²ΠΎ трговскитС систСми

  • РСактивност Π²ΠΎ трговскитС систСми

  • Π”Ρ€ΡƒΠ³ΠΎ. ЌС напишам Π²ΠΎ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡ‚Π΅

Гласаа 6 корисници. 4 корисници сС Π²ΠΎΠ·Π΄Ρ€ΠΆΠ°Π°.

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€