Tarantool рдбрд╛рдЯрд╛ рдЧреНрд░рд┐рдб рдХреЛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд░ рдХреНрд╖рдорддрд╛рд╣рд░реБ

Tarantool рдбрд╛рдЯрд╛ рдЧреНрд░рд┐рдб рдХреЛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд░ рдХреНрд╖рдорддрд╛рд╣рд░реБ

2017 рдорд╛, рд╣рд╛рдореАрд▓реЗ Alfa-Bank рдХреЛ рд▓рдЧрд╛рдиреА рд╡реНрдпрд╡рд╕рд╛рдпрдХреЛ рд▓реЗрдирджреЗрди рдХреЛрд░ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдЬрд┐рддреНрдпреМрдВ рд░ рдХрд╛рдо рд╕реБрд░реБ рдЧрд░реНтАНрдпреМрдВ (HighLoad++ 2018 рдорд╛ рд▓рдЧрд╛рдиреА рд╡реНрдпрд╡рд╕рд╛рдпрдХреЛ рдореВрд▓ рдмрд╛рд░реЗ рд░рд┐рдкреЛрд░реНрдЯ рд╕рд╣рд┐рддред рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рдпреЛ рд╡реНрд▓рд╛рджрд┐рдорд┐рд░ рдбреНрд░рд┐рдирдХрд┐рди, рдЕрд▓реНрдлрд╛ рдмреИрдВрдХрдХреЛ рд▓рдЧрд╛рдиреА рд╡реНрдпрд╡рд╕рд╛рдпрдХреЛ рд▓реЗрдирджреЗрди рдХреЛрд░рдХреЛ рдкреНрд░рдореБрдЦ)ред рдпрд╕ рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддрд╣рд░реВрдмрд╛рдЯ рд╡рд┐рднрд┐рдиреНрди рдврд╛рдБрдЪрд╛рд╣рд░реВрдорд╛ рд╕рдордЧреНрд░ рд▓реЗрдирджреЗрди рдбрд╛рдЯрд╛, рдбрд╛рдЯрд╛рд▓рд╛рдИ рдПрдХреАрдХреГрдд рд░реВрдкрдорд╛ рд▓реНрдпрд╛рдЙрди, рднрдгреНрдбрд╛рд░рдг рд░ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреЗ рдерд┐рдпреЛред

рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдмрдЦрдд, рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рднрдпреЛ рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдпреЛ, рд░ рдХреЗрд╣рд┐ рдмрд┐рдиреНрджреБрдорд╛ рд╣рд╛рдореАрд▓реЗ рдорд╣рд╕реБрд╕ рдЧрд░реНрдпреМрдВ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдХрдбрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рджрд╛рдпрд░рд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рд╕рдлреНрдЯрд╡реЗрдпрд░ рднрдиреНрджрд╛ рдзреЗрд░реИ рдЪреАрдЬрд╣рд░реВ рдХреНрд░рд┐рд╕реНрдЯрд▓рд╛рдЗрдЬ рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдЫреМрдВ: рд╣рд╛рдореА рд╕рдлрд▓ рднрдпреМрдВред рдирд┐рд░рдиреНрддрд░ рднрдгреНрдбрд╛рд░рдгрдХреЛ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдкреНрд░рдгрд╛рд▓реАред рд╣рд╛рдореАрд▓реЗ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдХреЛ рдЕрдиреБрднрд╡рд▓реЗ рдирдпрд╛рдБ рдЙрддреНрдкрд╛рджрдирдХреЛ рдЖрдзрд╛рд░ рдмрдирд╛рдпреЛ - Tarantool рдбрд╛рдЯрд╛ рдЧреНрд░рд┐рдб (TDG)ред

рдо TDG рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдХреНрд░рдордорд╛ рд╣рд╛рдореАрд▓реЗ рдЖрдПрдХрд╛ рд╕рдорд╛рдзрд╛рдирд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ, рддрдкрд╛рдИрдВрд▓рд╛рдИ рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдорд╛ рдкрд░рд┐рдЪрдп рдЧрд░рд╛рдЙрди рдЪрд╛рд╣рдиреНрдЫреБ рд░ рдХрд╕рд░реА рд╣рд╛рдореНрд░реЛ рдЙрддреНрдкрд╛рджрди рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдирд┐рд░реНрдорд╛рдгрдХреЛ рд▓рд╛рдЧрд┐ рдЖрдзрд╛рд░ рдмрдиреНрди рд╕рдХреНрдЫ рднрдиреЗрд░ рджреЗрдЦрд╛рдЙрди рдЪрд╛рд╣рдиреНрдЫреБред

рд╡рд╛рд╕реНрддреБрдЧрдд рд░реВрдкрдорд╛, рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдгрд╛рд▓реАрд▓рд╛рдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдЧрд░реНрдпреМрдВ рднреВрдорд┐рдХрд╛рд╣рд░реВ, рдЬрд╕рдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд╕реНрдпрд╛рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рджрд╛рдпрд░рд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдЫред рдПрдХрд▓ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрджрд╛рд╣рд░рдгрд▓реЗ рдПрдХ рд╡рд╛ рдмрдвреА рднреВрдорд┐рдХрд╛ рдкреНрд░рдХрд╛рд░рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫред рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдПрдЙрдЯреИ рдкреНрд░рдХрд╛рд░рдХрд╛ рдзреЗрд░реИ рднреВрдорд┐рдХрд╛рд╣рд░реВ рд╣реБрди рд╕рдХреНрдЫрдиреН:

Tarantool рдбрд╛рдЯрд╛ рдЧреНрд░рд┐рдб рдХреЛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд░ рдХреНрд╖рдорддрд╛рд╣рд░реБ

рдпреЛрдЬрдХ

рдХрдиреЗрдХреНрдЯрд░ рдмрд╛рд╣рд┐рд░реА рд╕рдВрд╕рд╛рд░рд╕рдБрдЧ рд╕рдЮреНрдЪрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдЫ; рдпрд╕рдХреЛ рдХрд╛рд░реНрдп рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреЗ, рдпрд╕рд▓рд╛рдИ рдкрд╛рд░реНрд╕ рдЧрд░реНрдиреЗ, рд░ рдпрджрд┐ рдпреЛ рд╕рдлрд▓ рднрдпреЛ рднрдиреЗ, рдЗрдирдкреБрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░рдорд╛ рдкреНрд░рд╢реЛрдзрдирдХрд╛ рд▓рд╛рдЧрд┐ рдбрд╛рдЯрд╛ рдкрдард╛рдЙрдиреБрд╣реЛрд╕реНред рд╣рд╛рдореА HTTP, SOAP, Kafka, FIX рдврд╛рдБрдЪрд╛рд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдЫреМрдВред рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдирдпрд╛рдБ рдврд╛рдБрдЪрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, IBM MQ рдХрд╛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЫрд┐рдЯреНрдЯреИ рдЖрдЙрдБрджреИрдЫред рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдкрд╛рд░реНрд╕рд┐рдЩ рдЕрд╕рдлрд▓ рднрдпреЛ рднрдиреЗ, рдХрдиреЗрдХреНрдЯрд░рд▓реЗ рддреНрд░реБрдЯрд┐ рдлрд░реНрдХрд╛рдЙрдиреЗрдЫ; рдЕрдиреНрдпрдерд╛, рдпрд╕рд▓реЗ рдЕрдиреБрд░реЛрдзрд▓рд╛рдИ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рднрдиреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджрд┐рдиреЗрдЫ, рднрд▓реЗ рдкрдирд┐ рдпрд╕рдХреЛ рдердк рдкреНрд░рд╢реЛрдзрдирдХреЛ рдХреНрд░рдордорд╛ рддреНрд░реБрдЯрд┐ рднрдпреЛред рдпреЛ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдЕрдиреБрд░реЛрдзрд╣рд░реВ рджреЛрд╣реЛрд░реНрдпрд╛рдЙрдиреЗ рддрд░рд┐рдХрд╛ рдерд╛рд╣рд╛ рдирднрдПрдХрд╛ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ - рд╡рд╛, рдпрд╕рдХреЛ рд╡рд┐рдкрд░рд┐рдд, рдпреЛ рдзреЗрд░реИ рд▓рдЧрд╛рддрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдбрд╛рдЯрд╛ рдЧреБрдорд╛рдЙрди рдХреЛ рд▓рд╛рдЧреА, рдПрдХ рдорд░реНрдордд рд▓рд╛рдо рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ: рд╡рд╕реНрддреБ рдкрд╣рд┐рд▓реЗ рдпреЛ рдорд╛ рдЬрд╛рдиреНрдЫ рд░ рдорд╛рддреНрд░ рд╕рдлрд▓ рдкреНрд░рд╢реЛрдзрди рдкрдЫрд┐ рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫред рдкреНрд░рд╢рд╛рд╕рдХрд▓реЗ рдорд░реНрдордд рд▓рд╛рдордорд╛ рдмрд╛рдБрдХреА рд░рд╣реЗрдХрд╛ рд╡рд╕реНрддреБрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЕрд▓рд░реНрдЯрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдЫ, рд░ рд╕рдлреНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐ рд╡рд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рдлрд▓рддрд╛ рдореЗрдЯрд╛рдПрдкрдЫрд┐, рдкреБрди: рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдЗрдирдкреБрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░

рдЗрдирдкреБрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░рд▓реЗ рдкреНрд░рд╛рдкреНрдд рдбрд╛рдЯрд╛рд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдЕрдиреБрд╕рд╛рд░ рд╡рд░реНрдЧреАрдХрд░рдг рдЧрд░реНрджрдЫ рд░ рдЙрдкрдпреБрдХреНрдд рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВ рдХрд▓ рдЧрд░реНрджрдЫред рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рд▓реБрдЖ рдХреЛрдб рд╣реБрдиреН рдЬреБрди рд╕реНрдпрд╛рдиреНрдбрдмрдХреНрд╕рдорд╛ рдЪрд▓реНрдЫ, рддреНрдпрд╕реИрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдХрд╛рд░реНрдпрд▓рд╛рдИ рдЕрд╕рд░ рдЧрд░реНрди рд╕рдХреНрджреИрдирдиреНред рдпрд╕ рдЪрд░рдгрдорд╛, рдбреЗрдЯрд╛ рдЖрд╡рд╢реНрдпрдХ рдлрд╛рд░рдордорд╛ рдШрдЯрд╛рдЙрди рд╕рдХрд┐рдиреНрдЫ, рд░ рдЖрд╡рд╢реНрдпрдХ рднрдПрдорд╛, рдЖрд╡рд╢реНрдпрдХ рддрд░реНрдХ рд▓рд╛рдЧреВ рдЧрд░реНрди рд╕рдХреНрдиреЗ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдордирдорд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рд╕реБрд░реБ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, Tarantool рдбрд╛рдЯрд╛ рдЧреНрд░рд┐рдбрдорд╛ рдирд┐рд░реНрдорд┐рдд MDM (рдорд╛рд╕реНрдЯрд░ рдбрд╛рдЯрд╛ рдореНрдпрд╛рдиреЗрдЬрдореЗрдиреНрдЯ) рдЙрддреНрдкрд╛рджрдирдорд╛, рдирдпрд╛рдБ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдердкреНрджрд╛, рдЕрдиреБрд░реЛрдзрдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рдврд┐рд▓реЛ рдирдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рдЫреБрдЯреНрдЯреИ рдХрд╛рд░реНрдпрдХреЛ рд░реВрдкрдорд╛ рд╕реБрдиреМрд▓реЛ рд░реЗрдХрд░реНрдбрдХреЛ рд╕рд┐рд░реНрдЬрдирд╛ рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВред рд╕реНрдпрд╛рдиреНрдбрдмрдХреНрд╕рд▓реЗ рдбреЗрдЯрд╛ рдкрдвреНрдиреЗ, рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд░ рдердкреНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЕрдиреБрд░реЛрдзрд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рддрдкрд╛рдИрдВрд▓рд╛рдИ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рдХрд╛рд░ рд░ рдкрд░рд┐рдгрд╛рдордХреЛ рдПрдХрддреНрд░реАрдХрд░рдг (рдирдХреНрд╕рд╛/рдХрдо) рдХреЛ рд╕рдмреИ рднреВрдорд┐рдХрд╛рд╣рд░реВрдорд╛ рдХреЗрд╣реА рдХрд╛рд░реНрдп рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВрд▓рд╛рдИ рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рд╡рд░реНрдгрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ:

sum.lua

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

рд░ рддреНрдпрд╕рдкрдЫрд┐, рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рдШреЛрд╖рд┐рдд:

functions:
  sum: { __file: sum.lua }

рдХрд┐рди рд▓реБрдЖ? рд▓реБрдЖ рдПрдХ рдзреЗрд░реИ рд╕рд░рд▓ рднрд╛рд╖рд╛ рд╣реЛред рд╣рд╛рдореНрд░реЛ рдЕрдиреБрднрд╡рдХреЛ рдЖрдзрд╛рд░рдорд╛, рдпреЛ рдерд╛рд╣рд╛ рдкрд╛рдПрдХреЛ рдХреЗрд╣реА рдШрдгреНрдЯрд╛ рдкрдЫрд┐, рдорд╛рдирд┐рд╕рд╣рд░реВрд▓реЗ рдЖрдлреНрдиреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рдХреЛрдб рд▓реЗрдЦреНрди рдерд╛рд▓реНрдЫрдиреНред рд░ рдпреА рдкреЗрд╢реЗрд╡рд░ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рддрд░, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╣рд░реВред рдердк рд░реВрдкрдорд╛, рдЬреАрдд рдХрдореНрдкрд╛рдЗрд▓рд░рд▓рд╛рдИ рдзрдиреНрдпрд╡рд╛рдж, рд▓реБрдЖ рдзреЗрд░реИ рдЫрд┐рдЯреЛ рдЪрд▓реНрдЫред

рднрдгреНрдбрд╛рд░рдг

рднрдгреНрдбрд╛рд░рдгрд▓реЗ рдирд┐рд░рдиреНрддрд░ рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрджрдЫред рдмрдЪрдд рдЧрд░реНрдиреБ рдЕрдШрд┐, рдбрд╛рдЯрд╛ рдбреЗрдЯрд╛ рд╕реНрдХрд┐рдорд╛ рд╡рд┐рд░реБрджреНрдз рдорд╛рдиреНрдп рд╣реБрдиреНрдЫред рд╕рд░реНрдХрд┐рдЯ рд╡рд░реНрдгрди рдЧрд░реНрди рд╣рд╛рдореА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдврд╛рдБрдЪрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫреМрдВ Apache Avroред рдЙрджрд╛рд╣рд░рдг:

{
    "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 рдХреЛ рд▓рд╛рдЧрд┐ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫ рд░ рдЧреНрд░рд╛рдлрд┐рдХ рдбрд╛рдЯрд╛ рдкрд╣реБрдБрдЪрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдХреАрдорд╛ред

рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рдбрд╛рдЯрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕рдорд░реНрдерд┐рдд рдЫ (рддреНрдпрд╣рд╛рдБ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдердкреНрдиреЗ рдпреЛрдЬрдирд╛рд╣рд░реВ рдЫрдиреН)ред

рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░

рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдирдпрд╛рдБ рдбреЗрдЯрд╛рдХреЛ рдЖрдЧрдордирдХреЛ рдмрд╛рд░реЗрдорд╛ рдмрд╛рд╣реНрдп рдЙрдкрднреЛрдХреНрддрд╛рд╣рд░реВрд▓рд╛рдИ рд╕реВрдЪрд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ; рдпрд╕ рдЙрджреНрджреЗрд╢реНрдпрдХреЛ рд▓рд╛рдЧрд┐, рддреНрдпрд╣рд╛рдБ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рднреВрдорд┐рдХрд╛ рдЫред рдбрд╛рдЯрд╛ рдмрдЪрдд рдЧрд░реЗрдкрдЫрд┐, рдпреЛ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд▓рд╛рдИ рдкрд╛рд╕ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрд╕рд▓рд╛рдИ рдЙрдкрднреЛрдХреНрддрд╛рд▓реЗ рдЖрд╡рд╢реНрдпрдХ рдлрд╛рд░рдордорд╛ рд▓реНрдпрд╛рдЙрди) - рд░ рддреНрдпрд╕рдкрдЫрд┐ рдкрдард╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдХрдиреЗрдХреНрдЯрд░рдорд╛ рдкрдард╛рдЗрдпреЛред рдПрдХ рдорд░реНрдордд рд▓рд╛рдо рдпрд╣рд╛рдБ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ: рдпрджрд┐ рдХрд╕реИрд▓реЗ рд╡рд╕реНрддреБ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реЗрди рднрдиреЗ, рдкреНрд░рд╢рд╛рд╕рдХрд▓реЗ рдкрдЫрд┐ рдкреБрди: рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрди рд╕рдХреНрдЫред

рд╕реНрдХреЗрд▓рд┐рдВрдЧ

рдХрдиреЗрдХреНрдЯрд░, рдЗрдирдкреБрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░, рд░ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рднреВрдорд┐рдХрд╛рд╣рд░реВ рд░рд╛рдЬреНрдпрд╡рд┐рд╣реАрди рдЫрдиреН, рд╣рд╛рдореАрд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рднреВрдорд┐рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╕рдХреНрд╖рдо рдЧрд░рд┐рдПрдХреЛ рдирдпрд╛рдБ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдердкреЗрд░ рдкреНрд░рдгрд╛рд▓реА рддреЗрд░реНрд╕реЛ рд░реВрдкрдорд╛ рдорд╛рдкрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рднрдгреНрдбрд╛рд░рдг рддреЗрд░реНрд╕реЛ рдорд╛рдкрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рднрд░реНрдЪреБрдЕрд▓ рдмрдХреЗрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХреНрд▓рд╕реНрдЯрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиред рдирдпрд╛рдБ рд╕рд░реНрднрд░ рдердкреЗрдкрдЫрд┐, рдкреБрд░рд╛рдиреЛ рд╕рд░реНрднрд░рдмрд╛рдЯ рдХреЗрд╣реА рдмрд╛рд▓реНрдЯреАрд╣рд░реВ рдкреГрд╖реНрдарднреВрдорд┐рдорд╛ рдирдпрд╛рдБ рд╕рд░реНрднрд░рдорд╛ рд╕рд╛рд░рд┐рдпреЛ; рдпреЛ рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рд╣реБрдиреНрдЫ рд░ рд╕рдореНрдкреВрд░реНрдг рдкреНрд░рдгрд╛рд▓реАрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирд▓рд╛рдИ рдЕрд╕рд░ рдЧрд░реНрджреИрдиред

рдбрд╛рдЯрд╛ рдЧреБрдг

рд╡рд╕реНрддреБрд╣рд░реВ рдзреЗрд░реИ рдареВрд▓рд╛ рд╣реБрди рд╕рдХреНрдЫрдиреН рд░ рдЕрдиреНрдп рд╡рд╕реНрддреБрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рд╣реБрди рд╕рдХреНрдЫрдиреНред рд╣рд╛рдореА рдПрдЙрдЯреИ рднрд░реНрдЪреБрдЕрд▓ рдмрд╛рд▓реНрдЯреАрдорд╛ рд╕рдмреИ рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВрд╕рдБрдЧ рд╡рд╕реНрддреБ рднрдгреНрдбрд╛рд░рдг рдЧрд░реЗрд░ рдбрд╛рдЯрд╛ рдердкреНрдиреЗ рд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдиреЗ рдкрд░рдорд╛рдгреБ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдЫреМрдВред рдпрд╕рд▓реЗ рд╡рд╕реНрддреБрд▓рд╛рдИ рдзреЗрд░реИ рднреМрддрд┐рдХ рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ "рдлреИрд▓рд┐рдПрдХреЛ" рд╣реБрдирдмрд╛рдЯ рд░реЛрдХреНрдЫред

рд╕рдВрд╕реНрдХрд░рдг рд╕рдорд░реНрдерди рдЧрд░рд┐рдПрдХреЛ рдЫ: рд╡рд╕реНрддреБрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд▓реЗ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫ, рд░ рд╣рд╛рдореА рд╕рдзреИрдВ рд╕рдордпрдХреЛ рдЯреБрдХреНрд░рд╛ рд▓рд┐рди рд╕рдХреНрдЫреМрдВ рд░ рд╕рдВрд╕рд╛рд░ рддреНрдпрд╕рдмреЗрд▓рд╛ рдХрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рднрдиреЗрд░ рд╣реЗрд░реНрди рд╕рдХреНрдЫреМрдВред рд▓рд╛рдореЛ рдЗрддрд┐рд╣рд╛рд╕рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░реНрджреИрди рднрдиреНрдиреЗ рдбреЗрдЯрд╛рдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рд╕реАрдорд┐рдд рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рд╡рд╛ рдПрдЙрдЯрд╛ рдорд╛рддреНрд░ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ - рдкрдЫрд┐рд▓реНрд▓реЛ рдПрдХ - рддреНрдпреЛ рд╣реЛ, рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдкрдорд╛ рд╕рдВрд╕реНрдХрд░рдг рдЕрд╕рдХреНрд╖рдо рдЧрд░реНрдиреБрд╣реЛрд╕реНред рддрдкрд╛рдИрдВ рд╕рдордп рджреНрд╡рд╛рд░рд╛ рдЗрддрд┐рд╣рд╛рд╕ рдкрдирд┐ рд╕реАрдорд┐рдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ: рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, 1 рд╡рд░реНрд╖ рднрдиреНрджрд╛ рдкреБрд░рд╛рдиреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕рдмреИ рд╡рд╕реНрддреБрд╣рд░реБ рдореЗрдЯрд╛рдЙрдиреБрд╣реЛрд╕реНред рдЕрднрд┐рд▓реЗрдЦ рдкрдирд┐ рд╕рдорд░реНрдерд┐рдд рдЫ: рд╣рд╛рдореА рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдард╛рдЙрдБ рдЦрд╛рд▓реА рдЧрд░реНрджреИ, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рднрдиреНрджрд╛ рдкреБрд░рд╛рдирд╛ рд╡рд╕реНрддреБрд╣рд░реВ рдЕрдирд▓реЛрдб рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред

рдХрд╛рд░реНрдпрд╣рд░реВ

рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдордзреНрдпреЗ, рдпреЛ рд╕рдордп рддрд╛рд▓рд┐рдХрд╛рдорд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕реБрд░реВ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдЕрдиреБрд░реЛрдзрдорд╛, рд╡рд╛ рд╕реНрдпрд╛рдиреНрдбрдмрдХреНрд╕рдмрд╛рдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдкрдорд╛ рдзреНрдпрд╛рди рджрд┐рди рд▓рд╛рдпрдХ рдЫ:

Tarantool рдбрд╛рдЯрд╛ рдЧреНрд░рд┐рдб рдХреЛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд░ рдХреНрд╖рдорддрд╛рд╣рд░реБ

рдпрд╣рд╛рдБ рд╣рд╛рдореА рдЕрд░реНрдХреЛ рднреВрдорд┐рдХрд╛ рджреЗрдЦреНрдЫреМрдВ - рдзрд╛рд╡рдХред рдпреЛ рднреВрдорд┐рдХрд╛ рд░рд╛рдЬреНрдпрд╡рд┐рд╣реАрди рдЫ, рд░ рдпрд╕ рднреВрдорд┐рдХрд╛рдХреЛ рд╕рд╛рдердорд╛ рдердк рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдиреБрд╕рд╛рд░ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдердкреНрди рд╕рдХрд┐рдиреНрдЫред рдзрд╛рд╡рдХрдХреЛ рдЬрд┐рдореНрдореЗрд╡рд╛рд░реА рдХрд╛рд░реНрдпрд╣рд░реВ рдкреВрд░рд╛ рдЧрд░реНрдиреБ рд╣реЛред рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдП рдЕрдиреБрд╕рд╛рд░, рд╕реНрдпрд╛рдиреНрдбрдмрдХреНрд╕рдмрд╛рдЯ рдирдпрд╛рдБ рдХрд╛рд░реНрдпрд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫ; рддрд┐рдиреАрд╣рд░реВ рднрдгреНрдбрд╛рд░рдгрдорд╛ рд▓рд╛рдордорд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реБрдиреНрдЫрдиреН рд░ рддреНрдпрд╕рдкрдЫрд┐ рд░рдирд░рдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдиреНрдЫред рдпрд╕ рдкреНрд░рдХрд╛рд░рдХреЛ рдХрд╛рд░реНрдпрд▓рд╛рдИ рдХрд╛рдо рднрдирд┐рдиреНрдЫред рд╣рд╛рдореАрд╕рдБрдЧ рдЯрд╛рд╕реНрдХ рдирд╛рдордХ рдХрд╛рд░реНрдп рдкреНрд░рдХрд╛рд░ рдкрдирд┐ рдЫ - рдпреА рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд╛рд░реНрдпрд╣рд░реВ рд╣реБрдиреН рдЬреБрди рддрд╛рд▓рд┐рдХрд╛рдорд╛ (рдХреНрд░реЛрди рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░) рд╡рд╛ рдорд╛рдЧрдорд╛ рдЪрд▓реНрдЫрдиреНред рддреНрдпрд╕реНрддрд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕реБрд░реБ рдЧрд░реНрди рд░ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрди, рд╣рд╛рдореАрд╕рдБрдЧ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрд╛рд░реНрдп рдкреНрд░рдмрдиреНрдзрдХ рдЫред рдпреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЙрдкрд▓рдмреНрдз рд╣реБрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдЕрдиреБрд╕реВрдЪрдХ рднреВрдорд┐рдХрд╛ рд╕рдХреНрд╖рдо рдЧрд░реНрдиреБрдкрд░реНрдЫ; рдпрд╕ рднреВрдорд┐рдХрд╛рдХреЛ рд░рд╛рдЬреНрдп рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпреЛ рдорд╛рдкрди рдЧрд░реНрджреИрди, рддрдерд╛рдкрд┐, рдЖрд╡рд╢реНрдпрдХ рдЫреИрди; рдПрдХреИ рд╕рдордпрдорд╛, рдЕрдиреНрдп рд╕рдмреИ рднреВрдорд┐рдХрд╛рд╣рд░реВ рдЬрд╕реНрддреИ, рдпрд╕рдорд╛ рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╣реБрди рд╕рдХреНрдЫ рдЬреБрди рдХрд╛рдо рдЧрд░реНрди рдерд╛рд▓реНрдЫ рдпрджрд┐ рдорд╛рд╕реНрдЯрд░рд▓реЗ рдЕрдЪрд╛рдирдХ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реЗред

рд▓рдЧрд░

рдЕрд░реНрдХреЛ рднреВрдорд┐рдХрд╛рд▓рд╛рдИ рд▓рдЧрд░ рднрдирд┐рдиреНрдЫред рдпрд╕рд▓реЗ рдХреНрд▓рд╕реНрдЯрд░рдХрд╛ рд╕рдмреИ рд╕рджрд╕реНрдпрд╣рд░реВрдмрд╛рдЯ рд▓рдЧрд╣рд░реВ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрджрдЫ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд╡реЗрдм рдЗрдиреНрдЯрд░рдлреЗрд╕ рдорд╛рд░реНрдлрдд рдЕрдкрд▓реЛрдб рд░ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

рд╕реЗрд╡рд╛рд╣рд░реВ

рдпреЛ рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рд╕реЗрд╡рд╛рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдБрдЫ рднрдиреНрдиреЗ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдЫред рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рд╕реНрдпрд╛рдиреНрдбрдмрдХреНрд╕рдорд╛ рдЪрд▓реНрдиреЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛-рд▓рд┐рдЦрд┐рдд рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд▓рд╛рдИ рдХреБрди рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкрдард╛рдЗрдиреНрдЫ рднрдиреЗрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпрд╕ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рдорд╛, рддрдкрд╛рдЗрдБ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХреЗрд╣рд┐ рдкреНрд░рдХрд╛рд░рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдЙрди рд░ рдкрд░рд┐рдгрд╛рдо рдлрд░реНрдХрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд╕реЗрд╡рд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫ:

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 рдбрд╛рдЯрд╛ рдЧреНрд░рд┐рдб рдХреЛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд░ рдХреНрд╖рдорддрд╛рд╣рд░реБ

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдкрдорд╛, рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдЖрдиреНрддрд░рд┐рдХ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ рдЬреБрди рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд░ Grafana рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд┐рдЬреБрдЕрд▓рд╛рдЗрдЬ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рддреИрдирд╛рде рдЧрд░реНрдиреБрд╣реЛрд╕реН

Tarantool рдбрд╛рдЯрд╛ рдЧреНрд░рд┐рдб RPM рдкреНрдпрд╛рдХреЗрдЬ рд╡рд╛ рдЕрднрд┐рд▓реЗрдЦрдмрд╛рдЯ рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рд╡рд┐рддрд░рдг рд╡рд╛ Ansible рдмрд╛рдЯ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рддреНрдпрд╣рд╛рдБ Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдкрдирд┐ рдЫ (Tarantool Kubernetes рдЕрдкрд░реЗрдЯрд░).

рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ (рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди, рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ) рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд▓рд╛рдИ UI рдорд╛рд░реНрдлрдд рдЕрднрд┐рд▓реЗрдЦрдХреЛ рд░реВрдкрдорд╛ рд╡рд╛ рд╣рд╛рдореАрджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ API рдорд╛рд░реНрдлрдд рд▓рд┐рдкрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рддреИрдирд╛рдд рдЧрд░рд┐рдПрдХреЛ Tarantool рдбреЗрдЯрд╛ рдЧреНрд░рд┐рдб рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд▓реЛрдб рдЧрд░рд┐рдиреНрдЫред

рдирдореВрдирд╛ рдЖрд╡реЗрджрдирд╣рд░реВ

Tarantool рдбрд╛рдЯрд╛ рдЧреНрд░рд┐рдб рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХреБрди рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ? рд╡рд╛рд╕реНрддрд╡рдорд╛, рдзреЗрд░реИрдЬрд╕реЛ рд╡реНрдпрд╛рдкрд╛рд░ рдХрд╛рд░реНрдпрд╣рд░реВ рдХреБрдиреИ рди рдХреБрдиреИ рд░реВрдкрдорд╛ рдбрд╛рдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдкреНрд░рд╢реЛрдзрди, рднрдгреНрдбрд╛рд░рдг рд░ рдкрд╣реБрдБрдЪрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫрдиреНред рддрд╕рд░реНрде, рдпрджрд┐ рддрдкрд╛рдИрдВрд╕рдБрдЧ рдбреЗрдЯрд╛рдХреЛ рдареВрд▓рд╛ рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВ рдЫрдиреН рдЬреБрди рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдкрдорд╛ рднрдгреНрдбрд╛рд░рдг рд░ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рд╣рд╛рдореНрд░реЛ рдЙрддреНрдкрд╛рджрдирд▓реЗ рддрдкрд╛рдИрдВрдХреЛ рд╡рд┐рдХрд╛рд╕рдХреЛ рдзреЗрд░реИ рд╕рдордп рдмрдЪрдд рдЧрд░реНрди рд╕рдХреНрдЫ рд░ рддрдкрд╛рдИрдВрдХреЛ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХрдорд╛ рдзреНрдпрд╛рди рдХреЗрдиреНрджреНрд░рд┐рдд рдЧрд░реНрди рд╕рдХреНрдЫред

рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рдШрд░ рдЬрдЧреНрдЧрд╛ рдмрдЬрд╛рд░рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рд╕рдЩреНрдХрд▓рди рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВ, рддрд╛рдХрд┐ рднрд╡рд┐рд╖реНрдпрдорд╛, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд╕рдБрдЧ рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рд╕реНрддрд╛рд╡рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рд╣реБрдиреЗрдЫред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╣рд╛рдореА рдирд┐рдореНрди рдХрд╛рд░реНрдпрд╣рд░реВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдЧрд░реНрдиреЗрдЫреМрдВ:

  1. рдЦреБрд▓рд╛ рд╕реНрд░реЛрддрд╣рд░реВрдмрд╛рдЯ рдЬрд╛рдирдХрд╛рд░реА рд╕рдЩреНрдХрд▓рди рдЧрд░реНрдиреЗ рд░реЛрдмреЛрдЯрд╣рд░реВ рд╣рд╛рдореНрд░рд╛ рдбрд╛рдЯрд╛ рд╕реНрд░реЛрддрд╣рд░реВ рд╣реБрдиреЗрдЫрдиреНред рддрдкрд╛рдИрдВрд▓реЗ рддрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рд╡рд╛ рдХреБрдиреИ рдкрдирд┐ рднрд╛рд╖рд╛рдорд╛ рдХреЛрдб рд▓реЗрдЦреЗрд░ рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
  2. рдЕрд░реНрдХреЛ, Tarantool рдбрд╛рдЯрд╛ рдЧреНрд░рд┐рдбрд▓реЗ рдбрд╛рдЯрд╛ рд╕реНрд╡реАрдХрд╛рд░ рд░ рдмрдЪрдд рдЧрд░реНрдиреЗрдЫред рдпрджрд┐ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддрд╣рд░реВрдмрд╛рдЯ рдбрд╛рдЯрд╛ рдврд╛рдБрдЪрд╛ рдлрд░рдХ рдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдПрдХрд▓ рдврд╛рдБрдЪрд╛рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреЗ рд▓реБрдЖрдорд╛ рдХреЛрдб рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдкреВрд░реНрд╡-рдкреНрд░рд╢реЛрдзрди рдЪрд░рдгрдорд╛, рддрдкрд╛рдИрдВ рдкрдирд┐ рд╕рдХреНрд╖рдо рд╣реБрдиреБрд╣реБрдиреЗрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкреНрд░рд╕реНрддрд╛рд╡рд╣рд░реВ рдлрд┐рд▓реНрдЯрд░ рдЧрд░реНрди рд╡рд╛ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдмрдЬрд╛рд░рдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдПрдЬреЗрдиреНрдЯрд╣рд░реВ рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рдЕрдкрдбреЗрдЯ рдЧрд░реНрдиред
  3. рдЕрдм рддрдкрд╛рдИрдВрд╕рдБрдЧ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╕рдорд╛рдзрд╛рди рдЫ рдЬреБрди рдбрд╛рдЯрд╛рд▓реЗ рднрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд░ рдбрд╛рдЯрд╛ рдЪрдпрдирд╣рд░реВ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рддреНрдпрд╕реЛрднрдП рддрдкрд╛рдИрд▓реЗ рдирдпрд╛рдБ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдбреЗрдЯрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрд░реЛрдз рдЧрд░реНрдиреЗ рд╕реЗрд╡рд╛ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН рд░ рдкреНрд░рддрд┐ рджрд┐рди рд╕рдмреИрднрдиреНрджрд╛ рд▓рд╛рднрджрд╛рдпрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдиреЗрдЫ - рдпрд╕рд▓реЗ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛ рдХреЗрд╣реА рд▓рд╛рдЗрдирд╣рд░реВ рд░ рдереЛрд░реИ рд▓реБрдЖ рдХреЛрдб рдЪрд╛рд╣рд┐рдиреНрдЫред

рдХреЗ рдЕрд░реНрдХреЛ рдЫ?

рд╡рд┐рдХрд╛рд╕рдХреЛ рд╕рд╣рдЬрддрд╛рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕реБрдзрд╛рд░ рдЧрд░реНрдиреБ рд╣рд╛рдореНрд░реЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реЛ Tarantool рдбрд╛рдЯрд╛ рдЧреНрд░рд┐рдбред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпреЛ рд╕реНрдпрд╛рдиреНрдбрдмрдХреНрд╕рдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдЩ рд░ рдбрд┐рдмрдЧ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рднрдПрдХреЛ IDE рд╣реЛред

рд╣рд╛рдореА рд╕реБрд░рдХреНрд╖рд╛ рдорд╛рдорд┐рд▓рд╛рд╣рд░реВрдорд╛ рдкрдирд┐ рдзреЗрд░реИ рдзреНрдпрд╛рди рджрд┐рдиреНрдЫреМрдВред рдЕрд╣рд┐рд▓реЗ рд╣рд╛рдореА рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рдЙрдЪреНрдЪ рд╕реНрддрд░рдХреЛ рдкреБрд╖реНрдЯрд┐ рдЧрд░реНрди рд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбреЗрдЯрд╛ рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реА рд░ рд╕рд░рдХрд╛рд░реА рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рд╣реБрдиреЗ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдЙрддреНрдкрд╛рджрдирд╣рд░реВрдХреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдкреВрд░рд╛ рдЧрд░реНрди рд░реВрд╕рдХреЛ FSTEC рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдмрд╛рдЯ рдЧреБрдЬреНрд░рд┐рд░рд╣реЗрдХрд╛ рдЫреМрдВред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди