АрхитСктура ΠΈ моТности Π½Π° Tarantool Data Grid

АрхитСктура ΠΈ моТности Π½Π° Tarantool Data Grid

Π’ΠΎ 2017 Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΏΠΎΠ±Π΅Π΄ΠΈΠ²ΠΌΠ΅ Π½Π° Π½Π°Ρ‚ΠΏΡ€Π΅Π²Π°Ρ€ Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π° трансакциското Ρ˜Π°Π΄Ρ€ΠΎ Π½Π° инвСстицискиот бизнис Π½Π° Alfa-Bank ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π°Π²ΠΌΠ΅ со Ρ€Π°Π±ΠΎΡ‚Π° (Π½Π° HighLoad++ 2018 Π³ΠΎΠ΄ΠΈΠ½Π° со ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜ Π·Π° ΡΡƒΡˆΡ‚ΠΈΠ½Π°Ρ‚Π° Π½Π° инвСстицискиот бизнис Π·Π±ΠΎΡ€ΡƒΠ²Π°ΡˆΠ΅ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”Ρ€ΠΈΠ½ΠΊΠΈΠ½, ΡˆΠ΅Ρ„ Π½Π° трансакциското Ρ˜Π°Π΄Ρ€ΠΎ Π½Π° инвСстицискиот бизнис Π½Π° Алфа Π±Π°Π½ΠΊΠ°). Овој систСм Ρ‚Ρ€Π΅Π±Π°ΡˆΠ΅ Π΄Π° Π³ΠΈ собСрС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π·Π° трансакциитС ΠΎΠ΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΈΠ·Π²ΠΎΡ€ΠΈ Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ, Π΄Π° Π³ΠΈ донСсС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π²ΠΎ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π° Ρ„ΠΎΡ€ΠΌΠ°, Π΄Π° Π³ΠΈ складира ΠΈ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ пристап Π΄ΠΎ Π½ΠΈΠ².

Π’ΠΎ Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° процСсот Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜, систСмот Π΅Π²ΠΎΠ»ΡƒΠΈΡ€Π°ΡˆΠ΅ ΠΈ стСкна функционалност, Π° Π²ΠΎ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ сфативмС Π΄Π΅ΠΊΠ° кристализирамС Π½Π΅ΡˆΡ‚ΠΎ ΠΌΠ½ΠΎΠ³Ρƒ повСќС ΠΎΠ΄ само Π°ΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π΅Π½ софтвСр создадСн Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ Π½Π° строго Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ опсСг Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ: успСавмС систСм Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ дистрибуирани Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ со ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅. Π˜ΡΠΊΡƒΡΡ‚Π²ΠΎΡ‚ΠΎ ΡˆΡ‚ΠΎ Π³ΠΎ стСкнавмС ја Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°ΡˆΠ΅ основата Π½Π° Π½ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ - Tarantool Data Grid (TDG).

Π‘Π°ΠΊΠ°ΠΌ Π΄Π° Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌ Π·Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° TDG ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π°Ρ‚Π° Π΄ΠΎ ΠΊΠΎΠΈ дојдовмС Π²ΠΎ Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° процСсот Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜, Π΄Π° Π²Π΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π°ΠΌ со Π³Π»Π°Π²Π½Π°Ρ‚Π° функционалност ΠΈ Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ°ΠΌ ΠΊΠ°ΠΊΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ ΠΌΠΎΠΆΠ΅ Π΄Π° станС основа Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅Ρ‚Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π°.

АрхитСктонски, систСмот Π³ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ²ΠΌΠ΅ Π½Π° посСбни ΡƒΠ»ΠΎΠ³ΠΈ, ΠΎΠ΄ ΠΊΠΎΠΈ сСкоја Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π½Π° Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ Π½Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ опсСг Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π•Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΊ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° која Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° Π΅Π΄Π΅Π½ ΠΈΠ»ΠΈ повСќС Ρ‚ΠΈΠΏΠΎΠ²ΠΈ Π½Π° ΡƒΠ»ΠΎΠ³ΠΈ. МоТС Π΄Π° ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΡƒΠ»ΠΎΠ³ΠΈ ΠΎΠ΄ ист Ρ‚ΠΈΠΏ Π²ΠΎ кластСрот:

АрхитСктура ΠΈ моТности Π½Π° Tarantool Data Grid

ΠΊΠΎΠ½Π΅ΠΊΡ‚ΠΎΡ€

ΠšΠΎΠ½Π΅ΠΊΡ‚ΠΎΡ€ Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈΠΎΡ‚ свСт; Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° Π΅ Π΄Π° Π³ΠΎ ΠΏΡ€ΠΈΡ„Π°Ρ‚ΠΈ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ, Π΄Π° Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° ΠΈ Π°ΠΊΠΎ Ρ‚ΠΎΠ° успСС, Ρ‚ΠΎΠ³Π°Ρˆ Π΄Π° Π³ΠΈ испрати ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄ΠΎ Π²Π»Π΅Π·Π½ΠΈΠΎΡ‚ процСсор. ΠŸΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°ΠΌΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ HTTP, SOAP, Kafka, FIX. АрхитСктурата Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Сдноставно Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ, со ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° IBM MQ наскоро. Ако ΠΏΠ°Ρ€ΡΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π΅ успСа, ΠΊΠΎΠ½Π΅ΠΊΡ‚ΠΎΡ€ΠΎΡ‚ ќС Π²Ρ€Π°Ρ‚ΠΈ Π³Ρ€Π΅ΡˆΠΊΠ°; Π²ΠΎ спротивно, ќС ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈ Π΄Π΅ΠΊΠ° Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΎ, Π΄ΡƒΡ€ΠΈ ΠΈ Π°ΠΊΠΎ настанала Π³Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ ΠΏΠΎΠ½Π°Ρ‚Π°ΠΌΠΎΡˆΠ½ΠΎ ΠΏΡ€ΠΎΡ†Π΅ΡΠΈΡ€Π°ΡšΠ΅. Ова бСшС Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½ΠΎ со Ρ†Π΅Π» Π΄Π° сС Ρ€Π°Π±ΠΎΡ‚ΠΈ со систСми ΠΊΠΎΠΈ Π½Π΅ Π·Π½Π°Π°Ρ‚ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡƒΠ²Π°Π°Ρ‚ Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° - ΠΈΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², Π³ΠΎ ΠΏΡ€Π°Π²Π°Ρ‚ Ρ‚ΠΎΠ° ΠΏΡ€Π΅ΠΌΠ½ΠΎΠ³Ρƒ ΡƒΠΏΠΎΡ€Π½ΠΎ. Π—Π° Π΄Π° Π½Π΅ сС ΠΈΠ·Π³ΡƒΠ±Π°Ρ‚ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅, сС користи Ρ€Π΅Π΄ΠΈΡ†Π° Π·Π° ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠ°: ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΎΡ‚ ΠΏΡ€Π²ΠΎ Π²Π»Π΅Π³ΡƒΠ²Π° Π²ΠΎ Π½Π΅Π³ΠΎ ΠΈ само ΠΏΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½Π°Ρ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сС отстранува ΠΎΠ΄ Π½Π΅Π³ΠΎ. Администраторот ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΈΠΌΠ° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ° Π·Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΈ ΡˆΡ‚ΠΎ остануваат Π²ΠΎ Ρ€Π΅Π΄ΠΎΡ‚ Π·Π° ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠ° ΠΈ ΠΎΡ‚ΠΊΠ°ΠΊΠΎ ќС ја отстрани софтвСрската Π³Ρ€Π΅ΡˆΠΊΠ° ΠΈΠ»ΠΈ хардвСрскиот Π΄Π΅Ρ„Π΅ΠΊΡ‚, ΠΎΠ±ΠΈΠ΄Π΅Ρ‚Π΅ сС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ.

Π’Π»Π΅Π·Π΅Π½ процСсор

Π’Π»Π΅Π·Π½ΠΈΠΎΡ‚ процСсор Π³ΠΈ класифицира ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ спорСд карактСристичнитС карактСристики ΠΈ ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π° соодвСтни процСсори. Π Π°ΠΊΡƒΠ²Π°Ρ‡ΠΈΡ‚Π΅ сС Lua ΠΊΠΎΠ΄ кој Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ пСсок, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Ρ‚ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π²Π»ΠΈΡ˜Π°Π°Ρ‚ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° систСмот. Π’ΠΎ ΠΎΠ²Π°Π° Ρ„Π°Π·Π°, ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС свСдат Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π°Ρ‚Π° Ρ„ΠΎΡ€ΠΌΠ° ΠΈ, Π΄ΠΎΠΊΠΎΠ»ΠΊΡƒ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° сС стартува ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π±Ρ€ΠΎΡ˜ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° ја ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π°Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΎΡ‚ MDM (Master Data Management) ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ Π½Π° Tarantool Data Grid, ΠΊΠΎΠ³Π° Π΄ΠΎΠ΄Π°Π²Π°ΠΌΠ΅ Π½ΠΎΠ² корисник, Π·Π° Π΄Π° Π½Π΅ ја успоримС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ, Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π°ΠΌΠ΅ создавањС Π½Π° Π·Π»Π°Ρ‚Π΅Π½ запис ΠΊΠ°ΠΊΠΎ посСбна Π·Π°Π΄Π°Ρ‡Π°. ΠŸΠ΅ΡΠΎΠΊΠΎΡ‚ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° Π±Π°Ρ€Π°ΡšΠ° Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅, ΠΌΠ΅Π½ΡƒΠ²Π°ΡšΠ΅ ΠΈ додавањС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ нСкоја Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π½Π° ситС ΡƒΠ»ΠΎΠ³ΠΈ ΠΎΠ΄ Ρ‚ΠΈΠΏΠΎΡ‚ Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΡ˜Π° Π½Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ (ΠΌΠ°ΠΏΠ°/Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°ΡšΠ΅).

Π Π°ΠΊΡƒΠ²Π°Ρ‡ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΠΏΠΈΡˆΠ°Ρ‚ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ:

sum.lua

local x, y = unpack(...)
return x + y

И Ρ‚ΠΎΠ³Π°Ρˆ, Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€Π°Π½ΠΎ Π²ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°:

functions:
  sum: { __file: sum.lua }

Π—ΠΎΡˆΡ‚ΠΎ Π›ΡƒΠ°? Π›ΡƒΠ° Π΅ ΠΌΠ½ΠΎΠ³Ρƒ СдноставСн јазик. Π’Ρ€Π· основа Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ искуство, Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ часа ΠΎΡ‚ΠΊΠ°ΠΊΠΎ ќС Π³ΠΎ Π·Π°ΠΏΠΎΠ·Π½Π°Π°Ρ‚, Π»ΡƒΡ“Π΅Ρ‚ΠΎ ΠΏΠΎΡ‡Π½ΡƒΠ²Π°Π°Ρ‚ Π΄Π° ΠΏΠΈΡˆΡƒΠ²Π°Π°Ρ‚ ΠΊΠΎΠ΄ кој Π³ΠΎ Ρ€Π΅ΡˆΠ°Π²Π° Π½ΠΈΠ²Π½ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. И ΠΎΠ²Π° Π½Π΅ сС само профСсионални ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ, Ρ‚ΡƒΠΊΡƒ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π°Ρ€ΠΈ. ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° jit ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ΠΎΡ‚, Π›ΡƒΠ° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ Π±Ρ€Π·ΠΎ.

Π‘ΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅

Π‘ΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ складира ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ΠŸΡ€Π΅Π΄ Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°ΡšΠ΅, ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ сС ΠΏΠΎΡ‚Π²Ρ€Π΄ΡƒΠ²Π°Π°Ρ‚ спорСд ΡˆΠ΅ΠΌΠ°Ρ‚Π° Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π—Π° Π΄Π° Π³ΠΎ опишСмС ΠΊΠΎΠ»ΠΎΡ‚ΠΎ користимС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Апачи Авро... ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

{
    "name": "User",
    "type": "record",
    "logicalType": "Aggregate",
    "fields": [ 
        { "name": "id", "type": "string"}, 
        {"name": "first_name", "type": "string"}, 
        {"name": "last_name", "type": "string"} 
    ], 
    "indexes": ["id"] 
}

Π’Ρ€Π· основа Π½Π° овој опис, DDL (Јазик Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ) автоматски сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π·Π° Tarantula DBMS ΠΈ GraphQL шСма Π·Π° пристап Π΄ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

ΠŸΠΎΠ΄Π΄Ρ€ΠΆΠ°Π½Π° Π΅ асинхрона Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ (сС ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄Π° сС Π΄ΠΎΠ΄Π°Π΄Π΅ синхрона).

ИзлСзСн процСсор

ПонСкогаш Π΅ Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΎ Π΄Π° сС извСстат Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡƒΠ²Π°Ρ‡ΠΈ Π·Π° ΠΏΡ€ΠΈΡΡ‚ΠΈΠ³Π½ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° ΠΎΠ²Π°Π° Π½Π°ΠΌΠ΅Π½Π°, постои ΡƒΠ»ΠΎΠ³Π°Ρ‚Π° Π½Π° Output процСсорот; По Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅, Ρ‚ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС прСнСсат Π½Π° соодвСтниот ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° сС Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π΄ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΡˆΡ‚ΠΎ ја Π±Π°Ρ€Π° ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡƒΠ²Π°Ρ‡ΠΎΡ‚) - Π° ΠΏΠΎΡ‚ΠΎΠ° Π΄Π° сС ΠΏΡ€Π΅Π΄Π°Π΄Π΅ Π½Π° ΠΊΠΎΠ½Π΅ΠΊΡ‚ΠΎΡ€ΠΎΡ‚ Π·Π° ΠΈΡΠΏΡ€Π°ΡœΠ°ΡšΠ΅. ОвдС сС користи ΠΈ Ρ€Π΅Π΄ Π·Π° ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠ°: Π°ΠΊΠΎ никој Π½Π΅ Π³ΠΎ ΠΏΡ€ΠΈΡ„Π°Ρ‚ΠΈ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΎΡ‚, администраторот ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΠ±ΠΈΠ΄Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΠΎΠ΄ΠΎΡ†Π½Π°.

Π‘ΠΊΠ°Π»ΠΈΡ€Π°ΡšΠ΅

Π£Π»ΠΎΠ³ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠ½Π΅ΠΊΡ‚ΠΎΡ€ΠΎΡ‚, Π²Π»Π΅Π·Π½ΠΈΠΎΡ‚ процСсор ΠΈ ΠΈΠ·Π»Π΅Π·Π½ΠΈΠΎΡ‚ процСсор сС Π±Π΅Π· Π΄Ρ€ΠΆΠ°Π²Ρ˜Π°Π½ΡΡ‚Π²ΠΎ, ΡˆΡ‚ΠΎ Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈΠΌΠ΅ систСмот Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎ со Сдноставно додавањС Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ саканиот Ρ‚ΠΈΠΏ Π½Π° ΡƒΠ»ΠΎΠ³Π°. Π‘ΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ сС користи Π·Π° Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎ ΡΠΊΠ°Π»ΠΈΡ€Π°ΡšΠ΅ пристап Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ кластСр ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈ ΠΊΠΎΡ„ΠΈ. По Π΄ΠΎΠ΄Π°Π²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ² сСрвСр, Π½Π΅ΠΊΠΎΠΈ ΠΎΠ΄ ΠΊΠΎΡ„ΠΈΡ‚Π΅ ΠΎΠ΄ старитС сСрвСри сС прСмСстуваат Π½Π° Π½ΠΎΠ²ΠΈΠΎΡ‚ сСрвСр Π²ΠΎ ΠΏΠΎΠ·Π°Π΄ΠΈΠ½Π°; ΠΎΠ²Π° ΠΈΠΌ сС случува транспарСнтно Π½Π° корисницитС ΠΈ Π½Π΅ влијаС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Ρ†Π΅Π»ΠΈΠΎΡ‚ систСм.

Π‘Π²ΠΎΡ˜ΡΡ‚Π²Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ

ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ ΠΌΠ½ΠΎΠ³Ρƒ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈ Π΄Π° содрТат Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΈ. НиС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°ΠΌΠ΅ атомичност Π½Π° додавањС ΠΈ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ со ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ со ситС зависности Π²ΠΎ Π΅Π΄Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π° ΠΊΠΎΡ€ΠΏΠ°. Ова Π³ΠΎ спрСчува ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΎΡ‚ Π΄Π° сС β€žΡ€Π°ΡˆΠΈΡ€ΠΈβ€œ Π½ΠΈΠ· Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Ρ„ΠΈΠ·ΠΈΡ‡ΠΊΠΈ сСрвСри.

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

Π·Π°Π΄Π°Ρ‡ΠΈ

ΠœΠ΅Ρ“Ρƒ интСрСснитС карактСристики, Π²Ρ€Π΅Π΄ΠΈ Π΄Π° сС Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ моТноста Π·Π° Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π°ΡšΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° распорСд, Π½Π° Π±Π°Ρ€Π°ΡšΠ΅ Π½Π° корисникот ΠΈΠ»ΠΈ програмски ΠΎΠ΄ пСсокот:

АрхитСктура ΠΈ моТности Π½Π° Tarantool Data Grid

ОвдС Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡƒΡˆΡ‚Π΅ Π΅Π΄Π½Π° ΡƒΠ»ΠΎΠ³Π° - Ρ‚Ρ€ΠΊΠ°Ρ‡. Оваа ΡƒΠ»ΠΎΠ³Π° Π΅ Π±Π΅Π· Π΄Ρ€ΠΆΠ°Π²Ρ˜Π°Π½ΡΡ‚Π²ΠΎ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ со ΠΎΠ²Π°Π° ΡƒΠ»ΠΎΠ³Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π΄ΠΎΠ΄Π°Π΄Π°Ρ‚ Π²ΠΎ кластСрот ΠΏΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π°. ΠžΠ΄Π³ΠΎΠ²ΠΎΡ€Π½ΠΎΡΡ‚Π° Π½Π° Ρ‚Ρ€ΠΊΠ°Ρ‡ΠΎΡ‚ Π΅ Π΄Π° Π³ΠΈ Π·Π°Π²Ρ€ΡˆΠΈ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅. Како ΡˆΡ‚ΠΎ спомСнавмС, ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π°Ρ‚ Π½ΠΎΠ²ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠ΄ пСсокот; Ρ‚ΠΈΠ΅ сС Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ Ρ€Π΅Π΄ΠΈΡ†Π° Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΈ ΠΏΠΎΡ‚ΠΎΠ° сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ Π½Π° Ρ‚Ρ€ΠΊΠ°Ρ‡ΠΎΡ‚. Овој Ρ‚ΠΈΠΏ Π½Π° Π·Π°Π΄Π°Ρ‡Π° сС Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π° Job. ИмамС ΠΈ Ρ‚ΠΈΠΏ Π½Π° Π·Π°Π΄Π°Ρ‡Π° Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° Π—Π°Π΄Π°Ρ‡Π° - ΠΎΠ²Π° сС Π·Π°Π΄Π°Ρ‡ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ ΠΎΠ΄ корисникот ΠΊΠΎΠΈ сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ спорСд распорСд (со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° синтакса Π½Π° cron) ΠΈΠ»ΠΈ Π½Π° Π±Π°Ρ€Π°ΡšΠ΅. Π—Π° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌΠ΅ ΠΈ слСдимС Ρ‚Π°ΠΊΠ²ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π΅Π½ ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ. Π—Π° Π΄Π° Π±ΠΈΠ΄Π΅ достапна ΠΎΠ²Π°Π° функционалност, ΠΌΠΎΡ€Π° Π΄Π° ја ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΡ‚Π΅ ΡƒΠ»ΠΎΠ³Π°Ρ‚Π° Π½Π° распорСдувачот; ΠΎΠ²Π°Π° ΡƒΠ»ΠΎΠ³Π° ΠΈΠΌΠ° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°, ΠΏΠ° Π·Π°Ρ‚ΠΎΠ° Π½Π΅ сС Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°, ΡˆΡ‚ΠΎ Π½Π΅ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ; Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, ΠΊΠ°ΠΊΠΎ ΠΈ ситС Π΄Ρ€ΡƒΠ³ΠΈ ΡƒΠ»ΠΎΠ³ΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° ΡˆΡ‚ΠΎ ΠΏΠΎΡ‡Π½ΡƒΠ²Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π°ΠΊΠΎ господарот одСднаш ΠΎΠ΄Π±ΠΈΠ΅.

ДрвосСчач

Π”Ρ€ΡƒΠ³Π° ΡƒΠ»ΠΎΠ³Π° сС Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π° дрвосСчач. Π“ΠΈ собира Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΎΠ΄ ситС Ρ‡Π»Π΅Π½ΠΎΠ²ΠΈ Π½Π° кластСрот ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ Π·Π° Π½ΠΈΠ²Π½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΠΏΡ€Π΅Π³Π»Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ ΠΏΡ€Π΅ΠΊΡƒ Π²Π΅Π±-ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΎΡ‚.

Услуги

Π’Ρ€Π΅Π΄ΠΈ Π΄Π° сС спомСнС Π΄Π΅ΠΊΠ° систСмот Π³ΠΎ олСснува ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° услуги. Π’ΠΎ конфигурациската Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠ΄Ρ€Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΈ Π±Π°Ρ€Π°ΡšΠ° сС ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ Π΄ΠΎ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡ΠΎΡ‚ напишан ΠΎΠ΄ корисникот кој Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ пСсокот. Π’ΠΎ овој ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡, ΠΌΠΎΠΆΠ΅Ρ‚Π΅, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ нСкој Π²ΠΈΠ΄ Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡ΠΊΠΎ Π±Π°Ρ€Π°ΡšΠ΅ ΠΈ Π΄Π° Π³ΠΎ Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚.

Услугата Π΅ опишана Π²ΠΎ конфигурациската Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°:

services:
   sum:
      doc: "adds two numbers"
      function: sum
      return_type: int
      args:
         x: int
         y: int

GraphQL API сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° автоматски ΠΈ услугата станува достапна Π·Π° ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π°ΡšΠ΅:

query {
   sum(x: 1, y: 2) 
}

Ова ќС Π³ΠΎ ΠΏΠΎΠ²ΠΈΠΊΠ° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡ΠΎΡ‚ sumΡˆΡ‚ΠΎ ќС Π³ΠΎ Π²Ρ€Π°Ρ‚ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚:

3

ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π±Π°Ρ€Π°ΡšΠ° ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°

Π—Π° Π΄Π° ја Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° систСмот ΠΈ Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° Π·Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°ΡšΠ΅, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π²ΠΌΠ΅ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ OpenTracing. БистСмот ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΡΠΏΡ€Π°ΡœΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° Π±Π°Ρ€Π°ΡšΠ΅ Π΄ΠΎ Π°Π»Π°Ρ‚ΠΊΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ Π³ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°Π°Ρ‚ овој ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ Zipkin, ΡˆΡ‚ΠΎ ќС Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎ Π΅ ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ΠΎ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ:

АрхитСктура ΠΈ моТности Π½Π° Tarantool Data Grid

Π‘Π΅ΠΊΠ°ΠΊΠΎ, систСмот ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС собСрат со помош Π½Π° ΠŸΡ€ΠΎΠΌΠ΅Ρ‚Π΅Ρ˜ ΠΈ Π΄Π° сС Π²ΠΈΠ·ΡƒΠ΅Π»ΠΈΠ·ΠΈΡ€Π°Π°Ρ‚ со помош Π½Π° Π“Ρ€Π°Ρ„Π°Π½Π°.

Π Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅

Tarantool Data Grid ΠΌΠΎΠΆΠ΅ Π΄Π° сС распорСди ΠΎΠ΄ RPM ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈΠ»ΠΈ Π°Ρ€Ρ…ΠΈΠ²Π°, ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π°Π»Π°Ρ‚ΠΊΠ° ΠΎΠ΄ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π°Ρ‚Π° ΠΈΠ»ΠΈ Ansible, ΠΈΠΌΠ° ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Kubernetes (ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° Tarantool Kubernetes).

ΠΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΡˆΡ‚ΠΎ ја ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° Π΄Π΅Π»ΠΎΠ²Π½Π°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ° (ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°, ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡ΠΈ) Π΅ Π²Ρ‡ΠΈΡ‚Π°Π½Π° Π²ΠΎ распорСдСниот кластСр Tarantool Data Grid Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π° Π°Ρ€Ρ…ΠΈΠ²Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΎΡ‚ ΠΈΠ»ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ скрипта ΠΏΡ€Π΅ΠΊΡƒ API-Ρ‚ΠΎ ΡˆΡ‚ΠΎ Π³ΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°ΠΌΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΊ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ

Кои Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΊΡ€Π΅ΠΈΡ€Π°Π°Ρ‚ со помош Π½Π° Tarantool Data Grid? Π’ΡΡƒΡˆΠ½ΠΎΡΡ‚, ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ сС Π½Π΅ΠΊΠ°ΠΊΠΎ ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΈ пристап Π΄ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π—Π°Ρ‚ΠΎΠ°, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ‚Π΅ΠΊΠΎΠ²ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π΄ΠΎ ΠΊΠΎΠΈ Ρ‚Ρ€Π΅Π±Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ Π΄Π° сС складираат ΠΈ пристапат, Ρ‚ΠΎΠ³Π°Ρˆ Π½Π°ΡˆΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈ Π·Π°ΡˆΡ‚Π΅Π΄ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜ ΠΈ Π΄Π° сС фокусира Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° Π΄Π΅Π»ΠΎΠ²Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°.

На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сакамС Π΄Π° собирамС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° ΠΏΠ°Π·Π°Ρ€ΠΎΡ‚ Π½Π° нСдвиТности, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π°, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ќС ΠΈΠΌΠ°ΠΌΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠ½ΡƒΠ΄ΠΈ. Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, ќС Π³ΠΈ истакнСмС слСднитС Π·Π°Π΄Π°Ρ‡ΠΈ:

  1. Π ΠΎΠ±ΠΎΡ‚ΠΈΡ‚Π΅ ΠΊΠΎΠΈ собираат ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ΄ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ ΠΈΠ·Π²ΠΎΡ€ΠΈ ќС Π±ΠΈΠ΄Π°Ρ‚ наши ΠΈΠ·Π²ΠΎΡ€ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ Ρ€Π΅ΡˆΠΈΡ‚Π΅ овој ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π° ΠΈΠ»ΠΈ ΠΏΠΈΡˆΡƒΠ²Π°Ρ˜ΡœΠΈ ΠΊΠΎΠ΄ Π½Π° кој Π±ΠΈΠ»ΠΎ јазик.
  2. Π‘Π»Π΅Π΄Π½ΠΎ, Tarantool Data Grid ќС Π³ΠΈ ΠΏΡ€ΠΈΡ„Π°Ρ‚ΠΈ ΠΈ Π·Π°Ρ‡ΡƒΠ²Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅. Ако Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΡ‚ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΈΠ·Π²ΠΎΡ€ΠΈ Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½, Ρ‚ΠΎΠ³Π°Ρˆ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ Π²ΠΎ Lua ΡˆΡ‚ΠΎ ќС ја ΠΈΠ·Π²Ρ€ΡˆΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ Π΅Π΄Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Π’ΠΎ Ρ„Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ќС ΠΌΠΎΠΆΠ΅Ρ‚Π΅, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Ρ‚Π΅ Π΄ΡƒΠΏΠ»ΠΈΠΊΠ°Ρ‚ ΠΏΠΎΠ½ΡƒΠ΄ΠΈ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° Π°Π³Π΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° ΠΏΠ°Π·Π°Ρ€ΠΎΡ‚ Π²ΠΎ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.
  3. Π‘Π΅Π³Π° вСќС ΠΈΠΌΠ°Ρ‚Π΅ скалабилно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π²ΠΎ кластСр ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠΏΠΎΠ»Π½ΠΈ со ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Π΄Π° ΠΏΡ€Π°Π²ΠΈ сСлСкции Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ΠŸΠΎΡ‚ΠΎΠ° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Ρ‚Π΅ Π½ΠΎΠ²Π° функционалност, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ услуга ΡˆΡ‚ΠΎ ќС Π±Π°Ρ€Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ ќС ја Π΄Π°Π²Π° Π½Π°Ρ˜ΠΏΠΎΠ²ΠΎΠ»Π½Π°Ρ‚Π° ΠΏΠΎΠ½ΡƒΠ΄Π° Π΄Π½Π΅Π²Π½ΠΎ - Π·Π° ΠΎΠ²Π° ќС Π±ΠΈΠ΄Π°Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π»ΠΈΠ½ΠΈΠΈ Π²ΠΎ конфигурациската Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΈ ΠΌΠ°Π»ΠΊΡƒ Lua ΠΊΠΎΠ΄.

Π¨Ρ‚ΠΎ Π΅ слСдно?

Наш ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π΅ Π΄Π° ја ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠΌΠ΅ Π»Π΅ΡΠ½ΠΎΡ‚ΠΈΡ˜Π°Ρ‚Π° Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜ со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Tarantool Data Grid. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ²Π° Π΅ IDE со ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Ρ€Π°ΠΊΡƒΠ²Π°Ρ‡ΠΈ Π·Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°ΡšΠ΅ ΠΈ Π΄Π΅Π±Π°Π³ΠΈΡ€Π°ΡšΠ΅ ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π²ΠΎ пСсок.

ΠŸΠΎΡΠ²Π΅Ρ‚ΡƒΠ²Π°ΠΌΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ Π½Π° бСзбСдноснитС ΠΏΡ€Π°ΡˆΠ°ΡšΠ°. Π’ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠΌΠΈΠ½ΡƒΠ²Π°ΠΌΠ΅ Π½ΠΈΠ· ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΎΠ΄ FSTEC Π½Π° Π ΡƒΡΠΈΡ˜Π° Π·Π° Π΄Π° Π³ΠΎ ΠΏΠΎΡ‚Π²Ρ€Π΄ΠΈΠΌΠ΅ високото Π½ΠΈΠ²ΠΎ Π½Π° бСзбСдност ΠΈ Π΄Π° Π³ΠΈ исполнимС Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° Π·Π° ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π° софтвСрски ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ ΡˆΡ‚ΠΎ сС користат Π²ΠΎ информацискитС систСми Π·Π° Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Π²Π»Π°Π΄ΠΈΠ½ΠΈΡ‚Π΅ информациски систСми.

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

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