БистСм Π·Π° далСчински пристап Π΄ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π²ΠΎ ΠΊΠ°Ρ„Π΅Π·

Π¦Π΅Π» Π½Π° систСмот

ΠŸΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° далСчински пристап Π΄ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ΠΈ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. БистСмот β€žΠ²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΎβ€œ Π³ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° ситС основни ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ (ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅, Π±Ρ€ΠΈΡˆΠ΅ΡšΠ΅, Ρ‡ΠΈΡ‚Π°ΡšΠ΅, ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅, ΠΈΡ‚Π½.) со Ρ€Π°Π·ΠΌΠ΅Π½Π° Π½Π° трансакции (ΠΏΠΎΡ€Π°ΠΊΠΈ) со помош Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ TCP.

Апликации

Ѐункционалноста Π½Π° систСмот Π΅ Сфикасна Π²ΠΎ слСднивС случаи:

  • Π²ΠΎ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΡƒΡ€Π΅Π΄ΠΈ (ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΈ, систСми Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° ΠΎΠ΄Π±ΠΎΡ€ΠΎΡ‚ ΠΈΡ‚Π½.) ΠΊΠΎΠΈ Π±Π°Ρ€Π°Π°Ρ‚ Π±Ρ€Π· пристап Π΄ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ Π½Π° ΠΎΠ΄Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΈΡ‚Π΅ сСрвСри Π²ΠΎ услови Π½Π° ΠΌΠΎΠΆΠ½ΠΈ ΠΏΡ€ΠΈΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€Π΅ΠΊΠΈΠ½ΠΈ Π²ΠΎ ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° (со одСњС ΠΎΡ„Π»Π°Ρ˜Π½);
  • Π²ΠΎ Π²Ρ‡ΠΈΡ‚Π°Π½ΠΈ DBMS, Π°ΠΊΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° сС Π²Ρ€ΡˆΠΈ Π½Π° Π½Π΅ΠΊΠΎΠΈ сСрвСри, Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ сС Π²Ρ€ΡˆΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ;
  • Π²ΠΎ дистрибуирани ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ Π·Π° ΡΠΎΠ±ΠΈΡ€Π°ΡšΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈ Π±Π°Ρ€Π°Π°Ρ‚ Π³ΠΎΠ»Π΅ΠΌΠ° Π±Ρ€Π·ΠΈΠ½Π° Π½Π° Ρ€Π°Π·ΠΌΠ΅Π½Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, вишок ΠΈ довСрливост;
  • Π²ΠΎ слоТСни систСми со микросСрвис Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ ΠΎΠ΄Π»ΠΎΠΆΡƒΠ²Π°ΡšΠ°Ρ‚Π° Π²ΠΎ Ρ€Π°Π·ΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ сС ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΈ.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°

БистСмот Cage (постои ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° - Π±Π΅Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π²ΠΎ Python 3.7 Π½Π° Windows) Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° Π΄Π²Π° Π³Π»Π°Π²Π½ΠΈ Π΄Π΅Π»Π°:

  1. ΠšΠ΅Ρ˜ΡŸΡΠ΅Ρ€Π²Π΅Ρ€ β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° сСрвСр Π·Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ (ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ) ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ΠΈ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Ρ‡ΠΈΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π±Π°Ρ€Π°Π°Ρ‚ далСчински пристап;
  2. класа КСјџ со Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° клиСнтски софтвСр, ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡ‚Π°Π²ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΎ ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° со сСрвСритС.

ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° систСмот Π½Π° страната Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ ΠΎΠ΄ класата Cage Π³ΠΈ Π·Π°ΠΌΠ΅Π½ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΈΡ‚Π΅, β€žΡ€ΡƒΡ‚ΠΈΠ½ΡΠΊΠΈβ€œ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм: создавањС, ΠΎΡ‚Π²ΠΎΡ€Π°ΡšΠ΅, Π·Π°Ρ‚Π²ΠΎΡ€Π°ΡšΠ΅, Π±Ρ€ΠΈΡˆΠ΅ΡšΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ΅/ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ Π±ΠΈΠ½Π°Ρ€Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ (со ΠΎΠ·Π½Π°Ρ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ»ΠΎΠΆΠ±Π°Ρ‚Π° ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅). ΠšΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»Π½ΠΎ, ΠΎΠ²ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ сС блиску Π΄ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ C, ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ ΠΎΡ‚Π²ΠΎΡ€Π°ΡšΠ΅Ρ‚ΠΎ/Π·Π°Ρ‚Π²ΠΎΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ сС Π²Ρ€ΡˆΠΈ β€žΠ½Π° ΠΊΠ°Π½Π°Π»ΠΈΡ‚Π΅β€œ Π½Π° Π²Π»Π΅Π·/ΠΈΠ·Π»Π΅Π·.

Π‘ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΎΡ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ со ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π½Π° ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ β€žΠ΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈβ€œ (класа _io Π²ΠΎ Python), Π½ΠΎ со ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΎΠ΄ класата Cage.

Кога ќС сС ΠΊΡ€Π΅ΠΈΡ€Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΊ ΠΎΠ΄ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ Cage, Ρ‚ΠΎΡ˜ воспоставува ΠΏΠΎΡ‡Π΅Ρ‚Π½Π° врска со сСрвСр (ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ сСрвСри), Π΅ овластСн ΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ID ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π° ΠΏΠΎΡ‚Π²Ρ€Π΄Π° со посвСтСн Π±Ρ€ΠΎΡ˜ Π½Π° ΠΏΠΎΡ€Ρ‚Π° Π·Π° ситС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. Кога ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΎΡ‚ Cage Π΅ ΠΈΠ·Π±Ρ€ΠΈΡˆΠ°Π½, Ρ‚ΠΎΡ˜ ΠΌΡƒ Π½Π°Π»ΠΎΠΆΡƒΠ²Π° Π½Π° сСрвСрот Π΄Π° прСстанС Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π° ΠΈ Π΄Π° Π³ΠΈ Π·Π°Ρ‚Π²ΠΎΡ€ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅. ΠŸΡ€Π΅ΠΊΠΈΠ½ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΈΠ½ΠΈΡ†ΠΈΡ€Π°Π½ΠΎ ΠΈ ΠΎΠ΄ самитС сСрвСри.

БистСмот Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π° пСрформанситС Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅/Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ со Π±Π°Ρ„Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° чСсто користСнитС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΠ΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π½Π° клиСнтски ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π²ΠΎ ΠΊΠ΅ΡˆΠΎΡ‚ Π½Π° RAM ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° (Π±Π°Ρ„Π΅Ρ€).
ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠΎΡ‚ софтвСр ΠΌΠΎΠΆΠ΅ Π΄Π° користи кој Π±ΠΈΠ»ΠΎ Π±Ρ€ΠΎΡ˜ Π½Π° Cage ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ со Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ поставки (Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π±Π°Ρ„Π΅Ρ€ΠΎΡ‚, Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° Π±Π»ΠΎΠΊ ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Π½Π° со сСрвСрот ΠΈΡ‚Π½.).

Π•Π΄Π΅Π½ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ Cage ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π° со повСќС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π½Π° повСќС сСрвСри. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° (IP адрСса ΠΈΠ»ΠΈ DNS-сСрвСр, Π³Π»Π°Π²Π½Π° ΠΏΠΎΡ€Ρ‚Π° Π·Π° ΠΎΠ²Π»Π°ΡΡ‚ΡƒΠ²Π°ΡšΠ΅, ΠΏΠ°Ρ‚Π΅ΠΊΠ° ΠΈ ΠΈΠΌΠ΅ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°) сС Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ ΠΏΡ€ΠΈ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΎΡ‚.

Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ сСкој ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ Cage ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ со повСќС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈΠΎΡ‚ мСмориски простор сС користи Π·Π° Π±Π°Ρ„Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅. Π“ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° ΠΊΠ΅ΡˆΠΎΡ‚ – Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° страници ΠΈ Π½ΠΈΠ²Π½Π°Ρ‚Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°, сС поставува Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΈ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ Cage. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ΅ΡˆΠΎΡ‚ ΠΎΠ΄ 1 GB Π΅ 1000 страници ΠΎΠ΄ ΠΏΠΎ 1 MB, ΠΈΠ»ΠΈ 10 илјади страници ΠΎΠ΄ ΠΏΠΎ 100 KB, ΠΈΠ»ΠΈ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ страници ΠΎΠ΄ ΠΏΠΎ 1 KB. Π˜Π·Π±ΠΎΡ€ΠΎΡ‚ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π° ΠΈ Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° страници Π΅ спСцифична Π·Π°Π΄Π°Ρ‡Π° Π·Π° сСкој ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° користитС повСќС Cage ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ поставки Π·Π° Ρ‚Π°ΠΌΠΏΠΎΠ½ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° Π²ΠΎ зависност ΠΎΠ΄ Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ сС пристапува Π΄ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. Како основСн, сС користи Π½Π°Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΈΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚Π°ΠΌ Π·Π° Ρ‚Π°ΠΌΠΏΠΎΠ½ΠΈΡ€Π°ΡšΠ΅: ΠΎΡ‚ΠΊΠ°ΠΊΠΎ ќС сС исцрпи Π΄Π°Π΄Π΅Π½Π° ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π° Π½Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°, Π½ΠΎΠ²ΠΈΡ‚Π΅ страници Π³ΠΈ ΠΌΠ΅Π½ΡƒΠ²Π°Π°Ρ‚ старитС спорСд ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΡ‚ Π½Π° ΠΏΠ΅Π½Π·ΠΈΠΎΠ½ΠΈΡ€Π°ΡšΠ΅ со ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ Π±Ρ€ΠΎΡ˜ Π½Π° пристапи. Π‘Π°Ρ„Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π΅ особСно Сфикасно Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° Π½Π΅Ρ€Π°ΠΌΠ½ΠΎΠΌΠ΅Ρ€Π΅Π½ (Π²ΠΎ статистичка смисла) сподСлСн пристап, ΠΏΡ€Π²ΠΎ, Π΄ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ, Π²Ρ‚ΠΎΡ€ΠΎ, Π΄ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΠ΄ сСкоја Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°.

ΠšΠ»Π°ΡΠ°Ρ‚Π° Cage ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° I/O Π½Π΅ само со адрСси Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ (ΡˆΡ‚ΠΎ ја ΠΎΠ·Π½Π°Ρ‡ΡƒΠ²Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡ˜Π°Ρ‚Π° ΠΈ Π΄ΠΎΠ»ΠΆΠΈΠ½Π°Ρ‚Π° Π½Π° Π½ΠΈΠ·Π°Ρ‚Π°, β€žΠ·Π°ΠΌΠ΅Π½ΡƒΠ²Π°β€œ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм), Ρ‚ΡƒΠΊΡƒ ΠΈ Π½Π° пониско, β€žΡ„ΠΈΠ·ΠΈΡ‡ΠΊΠΎβ€œ Π½ΠΈΠ²ΠΎ - ΠΏΠΎ Π±Ρ€ΠΎΠ΅Π²ΠΈ Π½Π° страници Π²ΠΎ бафСрската ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°.

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½Π°Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ°Π½Π° Π·Π° Cage ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ "Ρ…ΠΈΠ±Π΅Ρ€Π½Π°Ρ†ΠΈΡ˜Π°" (β€žΡΠΏΠΈΠ΅ΡšΠ΅β€œ) - Ρ‚ΠΈΠ΅ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ β€žΡΠΊΠ»ΠΎΠΏΠ΅Π½ΠΈβ€œ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° Π³ΡƒΠ±Π΅ΡšΠ΅ Π½Π° врската со сСрвСритС, ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΅ Π·Π°ΠΏΡ€Π΅Π½Π°, ΠΈΡ‚Π½.) Π²ΠΎ Π»ΠΎΠΊΠ°Π»Π½Π° дСпонија Π½Π° страната Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ΠΈ Π±Ρ€Π·ΠΎ Π²Ρ€Π°Ρ‚Π΅Π½ΠΈ ΠΎΠ΄ ΠΎΠ²Π°Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° (ΠΎΡ‚ΠΊΠ°ΠΊΠΎ ќС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈ ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°, ΠΊΠΎΠ³Π° ќС ја рСстартиратС Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°). Ова ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ ΡΠΎΠΎΠ±Ρ€Π°ΡœΠ°Ρ˜ΠΎΡ‚ ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΡšΠ΅ Π½Π° клиСнтската ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΏΠΎ ΠΏΡ€ΠΈΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΎ одСњС β€žΠΎΡ„Π»Π°Ρ˜Π½β€œ, бидСјќи чСсто користСнитС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΠ΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ вСќС ќС Π±ΠΈΠ΄Π°Ρ‚ Π²ΠΎ ΠΊΠ΅ΡˆΠΎΡ‚.

КСјџ Π΅ ΠΎΠΊΠΎΠ»Ρƒ 3600 Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ΄.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈ Π½Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π° Π½Π° сСрвСр

Π‘Π΅Ρ€Π²Π΅Ρ€ΠΈΡ‚Π΅ Π·Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π½Π° Cageserver ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ со ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π±Ρ€ΠΎΡ˜ ΠΏΠΎΡ€Ρ‚ΠΈ, ΠΎΠ΄ ΠΊΠΎΠΈ Π΅Π΄Π½Π°Ρ‚Π° (β€žΠ³Π»Π°Π²Π½Π°Ρ‚Π°β€œ) сС користи само Π·Π° Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° ситС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, Π° останатитС сС користат Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π·Π° сСрвСрот Cage Π±Π°Ρ€Π° само Python. ΠŸΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ, ΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ΠΎΡ‚ со сСрвСрот Π·Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Ρ€ΡˆΠΈ која Π±ΠΈΠ»ΠΎ Π΄Ρ€ΡƒΠ³Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Π‘Π΅Ρ€Π²Π΅Ρ€ΠΎΡ‚ ΠΏΡ€Π²ΠΈΡ‡Π½ΠΎ Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π° ΠΊΠ°ΠΊΠΎ Π·Π±ΠΈΡ€ΠΊΠ° ΠΎΠ΄ Π΄Π²Π° Π³Π»Π°Π²Π½ΠΈ процСси:

  1. "ΠšΠΎΠ½Π΅ΠΊΡ†ΠΈΠΈ" – процСс Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Π²ΠΎΡΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ ΠΈ нСјзино ΠΏΡ€Π΅ΠΊΠΈΠ½ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Ρ‚ΠΈΠ²Π° Π½Π° сСрвСрот;
  2. β€žΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈβ€œ – процСс Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ (ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ) Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° со Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ Π·Π° Π·Π°Ρ‚Π²ΠΎΡ€Π°ΡšΠ΅ Π½Π° комуникациски сСсии Π²Ρ€Π· основа Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚.

И Π΄Π²Π°Ρ‚Π° процСса Π½Π΅ сС синхронизирани ΠΈ сС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΊΠ°ΠΊΠΎ Π±Π΅ΡΠΊΡ€Π°Ρ˜Π½ΠΈ циклуси Π½Π° ΠΏΡ€ΠΈΠΌΠ°ΡšΠ΅ ΠΈ ΠΈΡΠΏΡ€Π°ΡœΠ°ΡšΠ΅ ΠΏΠΎΡ€Π°ΠΊΠΈ Π²Ρ€Π· основа Π½Π° Ρ€Π΅Π΄ΠΈΡ†ΠΈ со повСќС процСси, прокси ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ, Π±Ρ€Π°Π²ΠΈ ΠΈ сокСти.
ΠŸΡ€ΠΎΡ†Π΅ΡΠΎΡ‚ Π½Π° ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π΄ΠΎΠ΄Π΅Π»ΡƒΠ²Π° ΠΏΠΎΡ€Ρ‚Π° Π·Π° сСкој ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π° ΠΏΡ€ΠΈΠΌΠ°ΡšΠ΅ ΠΈ прСнос Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π‘Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΏΠΎΡ€Ρ‚ΠΈ сС поставува ΠΊΠΎΠ³Π° сСрвСрот ќС сС стартува. ΠœΠ°ΠΏΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΠΏΠΎΡ€Ρ‚ΠΈΡ‚Π΅ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π΅ Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΎ Π²ΠΎ интСрпроцСсна сподСлСна прокси ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°.

ΠŸΡ€ΠΎΡ†Π΅ΡΠΎΡ‚ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° ΡΠΏΠΎΠ΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅ рСсурси Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ повСќС Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сподСлуваат (ΠΊΠ²Π°Π·ΠΈ-ΠΏΠ°Ρ€Π°Π»Π΅Π»Π΅Π½, бидСјќи пристапот сС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° со Π±Ρ€Π°Π²ΠΈ) Ρ‡ΠΈΡ‚Π°Ρ˜Ρ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ Π΅Π΄Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π°ΠΊΠΎ Ρ‚ΠΎΠ° бСшС Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ ΠΊΠΎΠ³Π° ΠΏΡ€Π²ΠΈΡ‡Π½ΠΎ бСшС ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° ΠΎΠ΄ β€žΠΏΡ€Π²ΠΈΠΎΡ‚β€œ ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅/Π±Ρ€ΠΈΡˆΠ΅ΡšΠ΅/ΠΎΡ‚Π²ΠΎΡ€Π°ΡšΠ΅/Π·Π°Ρ‚Π²ΠΎΡ€Π°ΡšΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π½Π° сСрвСрот сС Π²Ρ€ΡˆΠΈ Π²ΠΎ самиот процСс β€žΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈβ€œ строго послСдоватСлно ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ подсистСмот Π·Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π½Π° сСрвСрот ОБ.

Π—Π° Π³Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ Π΄Π° сС Π·Π°Π±Ρ€Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅Ρ‚ΠΎ/ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ, ΠΎΠ²ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сС ΠΈΠ·Π²Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ нишки создадСни ΠΎΠ΄ процСсот β€žΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈβ€œ. Π‘Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° нишки ΠΎΠ±ΠΈΡ‡Π½ΠΎ Π΅ Π΅Π΄Π½Π°ΠΊΠΎΠ² Π½Π° Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. Π—Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅/Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ сС доставуваат Π΄ΠΎ Π³Π΅Π½Π΅Ρ€Π°Π»Π½ΠΈΠΎΡ‚ Ρ€Π΅Π΄ ΠΈ ΠΏΡ€Π²Π°Ρ‚Π° бСсплатна нишка ја Π·Π΅ΠΌΠ° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° ΠΎΠ΄ Π³Π»Π°Π²Π°Ρ‚Π°. Π‘ΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½Π°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΈ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° ΠΏΡ€Π΅ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ RAM ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° сСрвСрот.

ΠŸΡ€ΠΎΡ†Π΅ΡΠΎΡ‚ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ја слСди активноста Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ΠΈ прСстанува Π΄Π° Π³ΠΈ сСрвисира ΠΈΠ»ΠΈ ΠΏΠΎ Π½ΠΈΠ²Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π° ќС сС Π½Π°Π΄ΠΌΠΈΠ½Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° нСактивност.

Π—Π° Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ сигурност, Cageserver Π²ΠΎΠ΄ΠΈ Π΅Π²ΠΈΠ΄Π΅Π½Ρ†ΠΈΡ˜Π° Π½Π° ситС трансакции. Π•Π΄Π΅Π½ ΠΎΠΏΡˆΡ‚ Π΄Π½Π΅Π²Π½ΠΈΠΊ содрТи ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ΄ ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ со Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° создавањС/ΠΎΡ‚Π²ΠΎΡ€Π°ΡšΠ΅/ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°ΡšΠ΅/Π±Ρ€ΠΈΡˆΠ΅ΡšΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. Π—Π° сСкоја Ρ€Π°Π±ΠΎΡ‚Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° сС ΠΊΡ€Π΅ΠΈΡ€Π° посСбСн Π΄Π½Π΅Π²Π½ΠΈΠΊ, Π²ΠΎ кој сС Π΅Π²ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ€Π°Π°Ρ‚ ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ΄ ΠΏΠΎΡ€Π°ΠΊΠΈ со Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΈ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ ΠΎΠ²Π°Π° Ρ€Π°Π±ΠΎΡ‚Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, ΠΊΠ°ΠΊΠΎ ΠΈ Π½ΠΈΠ·ΠΈ напишани (Π½ΠΎΠ²ΠΈ) ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Π½ΠΈΠ·ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΊΠΎΠΈ Π±ΠΈΠ»Π΅ ΡƒΠ½ΠΈΡˆΡ‚Π΅Π½ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ (ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ β€žΠ½Π° Π²Ρ€Π²ΠΎΡ‚β€œ Π½Π° старитС). ).

ОвиС Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ моТност ΠΈ Π·Π° Π²Ρ€Π°ΡœΠ°ΡšΠ΅ Π½Π° Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΏΠΈΠΈ ΠΈ Π·Π° Π²Ρ€Π°ΡœΠ°ΡšΠ΅ Π½Π° Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° содрТина Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ° Π²ΠΎ ΠΌΠΈΠ½Π°Ρ‚ΠΎΡ‚ΠΎ.

Cageserver Π΅ ΠΎΠΊΠΎΠ»Ρƒ 3100 Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ΄.

БистСм Π·Π° далСчински пристап Π΄ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π²ΠΎ ΠΊΠ°Ρ„Π΅Π·

Π‘Ρ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π·Π° сСрвСр Π·Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Cageserver

Кога Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π°Ρ‚Π΅, Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ Π²ΠΎ Π΄ΠΈΡ˜Π°Π»ΠΎΠ³ΠΎΡ‚:
β€” Π³Π»Π°Π²Π½ΠΎ ΠΏΡ€ΠΈΡΡ‚Π°Π½ΠΈΡˆΡ‚Π΅ Π·Π° ΠΎΠ²Π»Π°ΡΡ‚ΡƒΠ²Π°ΡšΠ΅;
β€” Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΏΠΎΡ€Ρ‚ΠΈ Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π° Π½Π° трансакции со овластСни ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ (ΠΎΠ΄ 1 ΠΈΠ»ΠΈ повСќС, Π·Π±ΠΈΡ€ΠΎΡ‚ Π½Π° Π±Ρ€ΠΎΠ΅Π²ΠΈ Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π° ΠΎΠ΄ оној Π΄ΠΎ Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ Π±Ρ€ΠΎΡ˜ Π½Π° ΠΏΠΎΡ€Ρ‚Π°).

ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° класата КСјџ

класа ΠΊΠ°Ρ„Π΅Π·ΠšΠ΅Ρ˜ΡŸ( cage_name="", pagesize=0, numpages=0, maxstrlen=0, server_ip={}, wait=0, awake=False, cache_file="" )

ΠžΠ±Ρ˜Π΅ΠΊΡ‚ΠΈΡ‚Π΅ сС ΠΊΡ€Π΅ΠΈΡ€Π°Π½ΠΈ ΠΎΠ΄ ΠΎΠ²Π°Π° класа ΠΊΠΎΠΈ ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°Π°Ρ‚ со сСрвСритС Π·Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ содрТат Π±Π°Ρ„Π΅Ρ€ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ

  • ΠΊΠ°Ρ„Π΅Π·_ΠΈΠΌΠ΅(ΡƒΠ») - условно ΠΈΠΌΠ΅ Π½Π° ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΎΡ‚, ΡˆΡ‚ΠΎ сС користи Π·Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ Π½Π° страната Π½Π° сСрвСрот
  • Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° страници(int) β€” Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° Π΅Π΄Π½Π° страница ΠΎΠ΄ бафСрската ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° (Π²ΠΎ Π±Π°Ρ˜Ρ‚ΠΈ)
  • Π½ΡƒΠΌΠΏΠ°ΠΆΠΈ(int) β€” Π±Ρ€ΠΎΡ˜ Π½Π° страници ΠΎΠ΄ Ρ‚Π°ΠΌΠΏΠΎΠ½ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°
  • maxstrlen(int) β€” максималната Π΄ΠΎΠ»ΠΆΠΈΠ½Π° Π½Π° Π½ΠΈΠ·Π° Π±Π°Ρ˜Ρ‚ΠΈ Π²ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ΅
  • server_ip(Π΄ΠΈΠΊΡ‚ΠΈΡ€Π°) - Ρ€Π΅Ρ‡Π½ΠΈΠΊ со адрСситС Π½Π° користСнитС сСрвСри, ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ ΠΊΠ»ΡƒΡ‡ΠΎΡ‚ Π΅ условното ΠΈΠΌΠ΅ Π½Π° сСрвСрот (ΠΈΠ΄ Π½Π° сСрвСр Π²ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°), Π° врСдноста Π΅ Π½ΠΈΠ·Π° со адрСса: β€žip address:portβ€œ ΠΈΠ»ΠΈ β€žDNS: ΠΏΠΎΡ€Ρ‚Π°β€œ (ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠΌΠΈΡšΠ°Ρ‚Π° ΠΈ вистинскитС адрСси Π΅ ΠΏΡ€ΠΈΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ)
  • ΠΏΠΎΡ‡Π΅ΠΊΠ°Ρ˜(int) β€” Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ‡Π΅ΠΊΠ°ΡšΠ΅ Π·Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ ΠΎΠ΄ сСрвСрот ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ°ΡšΠ΅ ΠΏΠΎΡ€Ρ‚ΠΈ (Π²ΠΎ сСкунди)
  • Π±ΡƒΠ΄Π½Π°(boolean) β€” Π·Π½Π°ΠΌΠ΅Π½Ρ†Π΅ Π·Π° Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ сС создава ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΎΡ‚ (Π›Π°ΠΆΠ½ΠΈ - Π°ΠΊΠΎ сС создадС Π½ΠΎΠ² ΠΎΠ±Ρ˜Π΅ΠΊΡ‚, Π’ΠΎΡ‡Π½ΠΎ - Π°ΠΊΠΎ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΎΡ‚ Π΅ создадСн ΠΎΠ΄ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ β€žΡΠΊΠ»ΠΎΠΏΠ΅Π½β€œ - ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ја ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° β€žΡ…ΠΈΠ±Π΅Ρ€Π½Π°Ρ†ΠΈΡ˜Π°β€œ, стандардно НСточно)
  • кСш_Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°(ΡƒΠ») - ΠΈΠΌΠ΅ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π·Π° Ρ…ΠΈΠ±Π΅Ρ€Π½Π°Ρ†ΠΈΡ˜Π°

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈ

КСјџ.file_create( сСрвСр, ΠΏΠ°Ρ‚Π΅ΠΊΠ° ) – ΠΊΡ€Π΅ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π½ΠΎΠ²Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°

КСјџ.Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°_ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Ρ˜( сСрвСр, ΠΏΠ°Ρ‚Π΅ΠΊΠ°, Π½ΠΎΠ²ΠΎ_ΠΈΠΌΠ΅ ) – ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Ρ˜ ја Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°

КСјџ.Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°_отстрани( сСрвСр, ΠΏΠ°Ρ‚Π΅ΠΊΠ°) - ΠΈΠ·Π±Ρ€ΠΈΡˆΠ΅Ρ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°

КСјџ.ΠΎΡ‚Π²ΠΎΡ€ΠΈ( сСрвСр, ΠΏΠ°Ρ‚Π΅ΠΊΠ°, ΠΌΠΎΠ΄ ) - ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°

Π‘Π΅ Π²Ρ€Π°ΡœΠ° Ρ„-ΠΊΠ°Π½Π°Π» Π±Ρ€ΠΎΡ˜ Π½Π° ΠΊΠ°Π½Π°Π». ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ МО - ΠΎΠ²Π° Π΅ Ρ€Π΅ΠΆΠΈΠΌΠΎΡ‚ Π½Π° ΠΎΡ‚Π²ΠΎΡ€Π°ΡšΠ΅ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°: "wm" - СксклузивСн (Ρ‡ΠΈΡ‚Π°Ρ˜/ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅), "rs" - само Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΈ сподСлСн само Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, "ws" - Ρ‡ΠΈΡ‚Π°ΡšΠ΅/ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΈ сподСлСно само Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ.

КСјџ.Π²ΠΎ Π±Π»ΠΈΠ·ΠΈΠ½Π° (Ρ„-ΠΊΠ°Π½Π°Π») – Π·Π°Ρ‚Π²ΠΎΡ€Π΅Ρ‚Π΅ ја Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°

КСјџ.ΠΏΠΈΡˆΡƒΠ²Π°ΠΌ (fchannel, start, data ) – Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½ΠΈΠ·Π° ΠΎΠ΄ Π±Π°Ρ˜Ρ‚ΠΈ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°

КСјџ.Ρ‡ΠΈΡ‚Π° (fchannel, start, len_data ) – ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ˜Ρ‚Π΅ Π½ΠΈΠ·Π° ΠΎΠ΄ Π±Π°Ρ˜Ρ‚ΠΈ ΠΎΠ΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°

КСјџ.стави_страници ( Ρ„-ΠΊΠ°Π½Π°Π» ) – β€žΠ³ΠΈ Ρ‚ΡƒΡ€ΠΊΠ°β€œ ΠΎΠ΄ Π±Π°Ρ„Π΅Ρ€ΠΎΡ‚ Π΄ΠΎ сСрвСрот ситС страници ΠΎΠ΄ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΎΡ‚ ΠΊΠ°Π½Π°Π» ΡˆΡ‚ΠΎ сС ΠΈΠ·ΠΌΠ΅Π½Π΅Ρ‚ΠΈ. Π‘Π΅ користи Π²ΠΎ ΠΎΠ½ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π²ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΡ‚ ΠΊΠΎΠ³Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅Ρ‚Π΅ сигурни Π΄Π΅ΠΊΠ° ситС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° ΠΊΠ°Π½Π°Π»ΠΎΡ‚ сС Ρ„ΠΈΠ·ΠΈΡ‡ΠΊΠΈ Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π½Π° сСрвСрот.

КСјџ.push_all () – Π³ΠΈ β€žΡ‚ΡƒΡ€ΠΊΠ°β€œ ΠΎΠ΄ Π±Π°Ρ„Π΅Ρ€ΠΎΡ‚ Π΄ΠΎ сСрвСрот ситС страници ΠΎΠ΄ ситС ΠΊΠ°Π½Π°Π»ΠΈ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ΄ класата Cage ΠΊΠΎΠΈ сС ΠΈΠ·ΠΌΠ΅Π½Π΅Ρ‚ΠΈ. Π‘Π΅ користи ΠΊΠΎΠ³Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅Ρ‚Π΅ сигурни Π΄Π΅ΠΊΠ° ситС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° ситС ΠΊΠ°Π½Π°Π»ΠΈ сС Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ Π½Π° сСрвСрот.

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

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