рдиреЗрддреНрд░рдореЗрд╢ - рд╣рд▓рдХреЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреЗ рд╕рдорд╛рдзрд╛рди

рдЬрд╕реЗ рдЖрдкрдг рдПрдХрд╛ рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреВрди рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдХрдбреЗ рдЬрд╛рдд рдЖрд╣реЛрдд, рддреЗрд╡реНрд╣рд╛ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдирд╡реАрди рдЖрд╡реНрд╣рд╛рдирд╛рдВрдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧрддреЛ.

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

рдиреЗрддреНрд░рдореЗрд╢ - рд╣рд▓рдХреЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреЗ рд╕рдорд╛рдзрд╛рди

рдЕрд╢рд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░рдгрд╛рд░реЗ рд╕рд╛рдзрди рдореА рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рд╢реЛрдзрдд рдЖрд╣реЗ (рдореА рдпрд╛рдмрджреНрджрд▓ рд╣реЕрдмреНрд░реЗрд╡рд░ рд▓рд┐рд╣рд┐рд▓реЗ: 1, 2), рдкрдг рд╢реЗрд╡рдЯреА рдореА рдорд╛рдЭреЗ рд╕реНрд╡рддрдГрдЪреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЛрд▓реНрдпреВрд╢рди рдмрдирд╡рд▓реЗ. рдпрд╛ рд▓реЗрдЦрд╛рдд рдореА рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪреНрдпрд╛ рдлрд╛рдпрджреНрдпрд╛рдВрдмрджреНрджрд▓ рдмреЛрд▓рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рдПрдХ рдирд╡реАрди рд╕рд╛рдзрди рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рддреЛ.

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

рдпреЗрдереЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪрд╛ рджреГрд╖реНрдЯреАрдХреЛрди рдЖрдордЪреНрдпрд╛ рдорджрддреАрд▓рд╛ рдпреЗрдК рд╢рдХрддреЛ, рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рдорд╛рд╣рд┐рддреА рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡ рдпрдВрддреНрд░рд╕рд╛рдордЧреНрд░реА рд╕реНрд╡рдд: рдЪрд╛рд▓рд╡рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд▒реНрдпрд╛ рд╕реЗрд╡рд╛рдВрдкреЗрдХреНрд╖рд╛ рдХрдореА рд╕реНрддрд░рд╛рд╡рд░ рд╣рд╛рддрд╛рд│реЗрд▓. рд╣рд╛ рджреГрд╖реНрдЯреАрдХреЛрди рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рд░реНрд╡ рдЯреНрд░реЕрдлрд┐рдХрдордзреНрдпреЗ рдЕрдбрдерд│рд╛ рдЖрдгреВ рд╢рдХрддреЛ рдЖрдгрд┐ рдлреНрд▓рд╛рдпрд╡рд░ рддреНрдпрд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реВ рджреЗрддреЛ. рд╢рд┐рд╡рд╛рдп, рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдирд╛ рдпрд╛рдмрджреНрджрд▓ рдХрд╛рд╣реАрд╣реА рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА.

рд╕реЗрд╡рд╛ рдЬрд╛рд│реА рджреГрд╖реНрдЯреАрдХреЛрди

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

рдиреЗрддреНрд░рдореЗрд╢ - рд╣рд▓рдХреЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреЗ рд╕рдорд╛рдзрд╛рди

рдЙрдкрд╛рдп

рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪреА рдЖрдзреАрдЪ рдЕрдиреЗрдХ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЖрд╣реЗрдд: рдЗрд╕реНрдЯрд┐рдУ ╨╕ linkerd2. рддреЗ рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдмрд░реАрдЪ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛рдд. рдкрд░рдВрддреБ рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рд╕рдВрд╕рд╛рдзрдирд╛рдВрд╡рд░ рдПрдХ рдореЛрдард╛ рдУрд╡реНрд╣рд░рд╣реЗрдб рдпреЗрддреЛ. рд╢рд┐рд╡рд╛рдп, рдЬреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдЕрд╢реА рдпрдВрддреНрд░рдгрд╛ рдХрд╛рд░реНрдпрд░рдд рдЕрд╕реЗрд▓ рддрд┐рддрдХреА рдЬрд╛рд╕реНрдд рд╕рдВрд╕рд╛рдзрдиреЗ рдирд╡реАрди рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рд░рд╛рдЦрдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреАрд▓. рдПрд╡рд┐рдЯреЛ рдпреЗрдереЗ, рдЖрдореНрд╣реА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдЪрд╛рд▓рд╡рддреЛ рдЬреНрдпрд╛рдд рд╣рдЬрд╛рд░реЛ рд╕реЗрд╡рд╛ рдЙрджрд╛рд╣рд░рдгреЗ рдЖрд╣реЗрдд (рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рд╡реЗрдЧрд╛рдиреЗ рд╡рд╛рдврдд рдЖрд╣реЗ). рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ, Istio рдкреНрд░рддрд┐ рд╕реЗрд╡рд╛ рдЙрджрд╛рд╣рд░рдгрд╛рд╕рд╛рдареА ~300Mb RAM рд╡рд╛рдкрд░рддреЗ. рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдЪреНрдпрд╛ рд╢рдХреНрдпрддрд╛рдВрдореБрд│реЗ, рдкрд╛рд░рджрд░реНрд╢рдХ рд╕рдВрддреБрд▓рди рд╕реЗрд╡рд╛рдВрдЪреНрдпрд╛ рдПрдХреВрдг рдкреНрд░рддрд┐рд╕рд╛рдж рд╡реЗрд│реЗрд╡рд░ рджреЗрдЦреАрд▓ рдкрд░рд┐рдгрд╛рдо рдХрд░рддреЗ (10ms рдкрд░реНрдпрдВрдд).

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

рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рдирд┐рд░реНрдгрдпрд╛рд╡рд░ рдЖрд▓реЛ:тАК рдиреЗрддреНрд░рдореЗрд╢.

рдиреЗрддреНрд░рдореЗрд╢

рдиреЗрддреНрд░рдореЗрд╢ рд╕рд┐рд╕реНрдЯреАрдордордзреАрд▓ рд╕реЗрд╡рд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рд╡рд┐рдЪрд╛рд░рд╛рдд рди рдШреЗрддрд╛, рдЕрд╕реАрдо рдкреНрд░рдорд╛рдгрд╛рдд рдореЛрдЬрдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЕрд╕рд▓реЗрд▓реЗ рд╣рд▓рдХреЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреЗ рд╕рдорд╛рдзрд╛рди рдЖрд╣реЗ.

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

рдЖрдЬ, рдмрд╣реБрддреЗрдХ рдХреНрд▓рд╛рдЙрдб рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕ рдЧреЛрд▓рдВрдЧрдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рдЖрдгрд┐, рдЕрд░реНрдерд╛рддрдЪ, рдпрд╛рдЪреА рдХрд╛рд░рдгреЗ рдЖрд╣реЗрдд. рдЧреЛрд▓рдВрдЧрдордзреНтАНрдпреЗ I/O рд╕рд╣ рд╕рдордХрд╛рд▓рд┐рдХрдкрдгреЗ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рд▓рд┐рд╣рд┐рдгреЗ рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХрддреЗрдиреБрд╕рд╛рд░ рдХреЛрд░рдордзреНрдпреЗ рд╕реНрдХреЗрд▓ рдХрд░рдгреЗ рд╕реЛрдпреАрдЪреЗ рдЖрдгрд┐ рдЕрдЧрджреА рд╕реЛрдкреЗ рдЖрд╣реЗ. рдЖрдгрд┐, рдХрд╛рдп рдЦреВрдк рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ, рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ. рдореНрд╣рдгреВрдирдЪ рдЖрдореНрд╣реАрд╣реА рдЧреЛрд▓рдВрдЧрдЪреА рдирд┐рд╡рдб рдХреЗрд▓реА.

рдЙрддреНрдкрд╛рджрдХрддрд╛

рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдЙрддреНрдкрд╛рджрдХрддрд╛ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╡рд░ рдЖрдореНрд╣реА рдЖрдордЪреЗ рдкреНрд░рдпрддреНрди рдХреЗрдВрджреНрд░рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗрдд. рд╕реЗрд╡реЗрдЪреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдгрд╛рд╢реЗрдЬрд╛рд░реА рдЙрдкрдпреЛрдЬрд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реЛрд▓реНрдпреВрд╢рдирд╕рд╛рдареА, RAM рдЖрдгрд┐ CPU рд╡реЗрд│реЗрдЪрд╛ рдереЛрдбрд╛рд╕рд╛ рд╡рд╛рдкрд░ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЖрдгрд┐, рдЕрд░реНрдерд╛рддрдЪ, рдкреНрд░рддрд┐рд╕рд╛рдж рд╡рд┐рд▓рдВрдм рджреЗрдЦреАрд▓ рд▓рд╣рд╛рди рдЕрд╕рд╛рд╡рд╛.

рдЖрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рдкрд░рд┐рдгрд╛рдо рдорд┐рд│рд╛рд▓реЗ рддреЗ рдкрд╛рд╣реВрдпрд╛.

рд░реЕрдо

рдиреЗрддреНрд░рдореЗрд╢ рдЯреНрд░реЕрдлрд┐рдХрд╢рд┐рд╡рд╛рдп ~10Mb рд╡рд╛рдкрд░рддреЛ рдЖрдгрд┐ рдкреНрд░рддрд┐ рдЙрджрд╛рд╣рд░рдг 50 RPS рдкрд░реНрдпрдВрдд рд▓реЛрдбрд╕рд╣ 10000Mb рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд╡рд╛рдкрд░рддреЛ.

рдЖрдордЪреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдордзреНрдпреЗ рд╣рдЬрд╛рд░реЛ рдЙрджрд╛рд╣рд░рдгрд╛рдВрд╕рд╣ Istio envoy рдкреНрд░реЙрдХреНрд╕реА рдиреЗрд╣рдореА ~300Mb рд╡рд╛рдкрд░рддреЗ. рд╣реЗ рддреНрдпрд╛рд╕ рд╕рдВрдкреВрд░реНрдг рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдореЛрдЬрд▓реЗ рдЬрд╛рдК рджреЗрдд рдирд╛рд╣реА.

рдиреЗрддреНрд░рдореЗрд╢ - рд╣рд▓рдХреЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреЗ рд╕рдорд╛рдзрд╛рди

рдиреЗрддреНрд░рдореЗрд╢ - рд╣рд▓рдХреЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреЗ рд╕рдорд╛рдзрд╛рди

рдиреЗрддреНрд░рдореЗрд╢рд╕рд╣ рдЖрдореНрд╣рд╛рд▓рд╛ рдореЗрдорд░реА рд╡рд╛рдкрд░рд╛рдордзреНрдпреЗ ~ 10x рдХрдкрд╛рдд рдорд┐рд│рд╛рд▓реА.

рд╕реАрдкреАрдпреВ

CPU рд╡рд╛рдкрд░ рд▓реЛрдб рдЕрдВрддрд░реНрдЧрдд рддреБрд▓рдиреЗрдиреЗ рд╕рдорд╛рди рдЖрд╣реЗ. рд╣реЗ рд╕рд╛рдЗрдбрдХрд╛рд░рд▓рд╛ рдкреНрд░рддрд┐ рдпреБрдирд┐рдЯ рд╡реЗрд│реЗрдЪреНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ. рд╢рд┐рдЦрд░рд╛рд╡рд░ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдж 3000 рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рдореВрд▓реНрдпреЗ:

рдиреЗрддреНрд░рдореЗрд╢ - рд╣рд▓рдХреЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреЗ рд╕рдорд╛рдзрд╛рди

рдиреЗрддреНрд░рдореЗрд╢ - рд╣рд▓рдХреЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреЗ рд╕рдорд╛рдзрд╛рди

рдЖрдгрдЦреА рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдореБрджреНрджрд╛ рдЖрд╣реЗ: рдиреЗрддреНрд░рдореЗрд╢ - рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрдирд╢рд┐рд╡рд╛рдп рдЖрдгрд┐ рд▓реЛрдбрд╢рд┐рд╡рд╛рдп рдПрдХ рдЙрдкрд╛рдп CPU рд╡реЗрд│ рд╡рд╛рдкрд░рдд рдирд╛рд╣реА. Istio рд╕рд╣, рд╕рд╛рдЗрдбрдХрд╛рд░ рдиреЗрд╣рдореА рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛рдд. рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣реА рд╣реЗ рдЪрд┐рддреНрд░ рд▓реЛрдбрд╢рд┐рд╡рд╛рдп рдкрд╛рд╣реВ рд╢рдХрддреЛ:

рдиреЗрддреНрд░рдореЗрд╢ - рд╣рд▓рдХреЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреЗ рд╕рдорд╛рдзрд╛рди

рд╕реЗрд╡рд╛рдВрдордзреАрд▓ рд╕рдВрд╡рд╛рджрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА HTTP/1 рд╡рд╛рдкрд░рддреЛ. рджреВрддрд╛рджреНрд╡рд╛рд░реЗ рдкреНрд░реЙрдХреНрд╕реА рдХрд░рддрд╛рдирд╛ Istio рд╕рд╛рдареА рдкреНрд░рддрд┐рд╕рд╛рдж рд╡реЗрд│реЗрдд рдЭрд╛рд▓реЗрд▓реА рд╡рд╛рдв 5-10ms рдкрд░реНрдпрдВрдд рд╣реЛрддреА, рдЬреА рдорд┐рд▓рд┐рд╕реЗрдХрдВрджрд╛рдд рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕реЗрд╡рд╛рдВрд╕рд╛рдареА рдЦреВрдк рдЖрд╣реЗ. рдиреЗрддреНрд░рдореЗрд╢рд╕рд╣ рд╣реА рд╡реЗрд│ 0.5-2ms рдкрд░реНрдпрдВрдд рдХрдореА рдЭрд╛рд▓реА рдЖрд╣реЗ.

рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА

рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЙрдХреНрд╕реАрджреНрд╡рд╛рд░реЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рдереЛрдбреНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рддреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡реЗрдЪреНрдпрд╛ рдкреБрдвреЗ рдареЗрд╡рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ. рдиреЗрддреНрд░рдореЗрд╢ рд╣реЗ рдЬрд╛рдгреВрдирдмреБрдЬреВрди рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдЗрдбрдХрд╛рд░ рд╣рд▓рдХреЗ рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдШрдЯрдХрд╛рд╢рд┐рд╡рд╛рдп рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ. рдмрд░реНтАНрдпрд╛рдЪрджрд╛ рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢ рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдордзреНрдпреЗ, рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдЗрдбрдХрд╛рд░рд▓рд╛ рд╕реЗрд╡рд╛ рд╢реЛрдз рдорд╛рд╣рд┐рддреА рд╡рд┐рддрд░реАрдд рдХрд░рддреЗ. рд╕реЛрдмрддрдЪ рдЯрд╛рдЗрдордЖрдЙрдЯреНрд╕ рдЖрдгрд┐ рдмреЕрд▓рдиреНрд╕рд┐рдВрдЧ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдЪреА рдорд╛рд╣рд┐рддреА рдорд┐рд│рддреЗ. рд╣реЗ рд╕рд░реНрд╡ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдмрд░реНтАНрдпрд╛рдЪ рдЙрдкрдпреБрдХреНрдд рдЧреЛрд╖реНрдЯреА рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ, рдкрд░рдВрддреБ, рджреБрд░реНрджреИрд╡рд╛рдиреЗ, рддреЗ рдЖрдХрд╛рд░рд╛рдд рд╕рд╛рдЗрдбрдХрд╛рд░ рдлреБрд▓рд╡рддреЗ.

рд╕реЗрд╡рд╛ рд╢реЛрдз

рдиреЗрддреНрд░рдореЗрд╢ - рд╣рд▓рдХреЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреЗ рд╕рдорд╛рдзрд╛рди

рдиреЗрддреНрд░рдореЗрд╢ рд╕реЗрд╡рд╛ рд╢реЛрдзрд╛рд╕рд╛рдареА рдХреЛрдгрддреАрд╣реА рдЕрддрд┐рд░рд┐рдХреНрдд рдпрдВрддреНрд░рдгрд╛ рдЬреЛрдбрдд рдирд╛рд╣реА. рдиреЗрддреНрд░рд╛ рд╕рд╛рдЗрдбрдХрд╛рд░рджреНрд╡рд╛рд░реЗ рд╕рд░реНрд╡ рд╡рд╛рд╣рддреВрдХ рдкрд╛рд░рджрд░реНрд╢рдХрдкрдгреЗ рдкреНрд░реЙрдХреНрд╕реА рдХреЗрд▓реА рдЬрд╛рддреЗ.

рдиреЗрддреНрд░рдореЗрд╢ HTTP/1 рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд▓рд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддреЛ. рддреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдкреЛрд░реНрдЯреНрд╕рдЪреА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рд╕реВрдЪреА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ. рд╕рд╛рдорд╛рдиреНрдпрддрдГ, рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдЕрдиреЗрдХ рдкреЛрд░реНрдЯ рдЕрд╕рддрд╛рдд рдЬреНрдпрд╛рджреНрд╡рд╛рд░реЗ HTTP рд╕рдВрдкреНрд░реЗрд╖рдг рд╣реЛрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдореНрд╣реА рд╕реЗрд╡рд╛ рдЖрдгрд┐ рдмрд╛рд╣реНрдп рд╡рд┐рдирдВрддреНрдпрд╛рдВрдордзреАрд▓ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рд╕рд╛рдареА 80, 8890, 8080 рд╡рд╛рдкрд░рддреЛ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рддреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡рд╛рдкрд░реВрди рд╕реЗрдЯ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд NETRA_HTTP_PORTS.

рдЬрд░ рддреБрдореНрд╣реА рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдореНрд╣рдгреВрди Kubernetes рдЖрдгрд┐ рд╕реЗрд╡рд╛рдВрдордзреАрд▓ рдЗрдВрдЯреНрд░рд╛-рдХреНрд▓рд╕реНрдЯрд░ рд╕рдВрдкреНрд░реЗрд╖рдгрд╛рд╕рд╛рдареА рддреНрдпрд╛рдЪреА рд╕реЗрд╡рд╛ рд╕рдВрд╕реНрдерд╛ рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░рдд рдЕрд╕рд╛рд▓, рддрд░ рдпрдВрддреНрд░рдгрд╛ рдЕрдЧрджреА рддрд╢реАрдЪ рд░рд╛рд╣рддреЗ. рдкреНрд░рдердо, рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕ kube-dns рд╡рд╛рдкрд░реВрди рд╕реЗрд╡рд╛ IP рдкрддреНрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рдЖрдгрд┐ рддреНрдпрд╛рд╕ рдирд╡реАрди рдХрдиреЗрдХреНрд╢рди рдЙрдШрдбрддреЗ. рд╣реЗ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдердо рд╕реНрдерд╛рдирд┐рдХ рдиреЗрддреНрд░рд╛-рд╕рд╛рдЗрдбрдХрд╛рд░рд╕рд╣ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рд╕рд░реНрд╡ TCP рдкреЕрдХреЗрдЯ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдиреЗрддреНрд░рд╛ рдпреЗрдереЗ рдпреЗрддрд╛рдд. рдкреБрдвреЗ, рдиреЗрдЯреНрд░рд╛-рд╕рд╛рдЗрдбрдХрд╛рд░ рдореВрд│ рдЧрдВрддрд╡реНрдпрд╕реНрдерд╛рдирд╛рд╢реА рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ. рдиреЛрдбрд╡рд░реАрд▓ рдкреЙрдб рдЖрдпрдкреАрд╡рд░реАрд▓ NAT рдиреЗрддреНрд░рд╛рд╢рд┐рд╡рд╛рдп рдмрд░реЛрдмрд░рдЪ рд░рд╛рд╣рддреЗ.

рд╡рд┐рддрд░рд┐рдд рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдЖрдгрд┐ рд╕рдВрджрд░реНрдн рдлреЙрд░рд╡рд░реНрдбрд┐рдВрдЧ

рдиреЗрддреНрд░рдореЗрд╢ HTTP рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рдВрдмрджреНрджрд▓ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╕реНрдкреЕрди рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. Netra-sidecar HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ, рд╡рд┐рдирдВрддреА рд╡рд┐рд▓рдВрдм рдореЛрдЬрддреЗ рдЖрдгрд┐ HTTP рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рдВрдордзреВрди рдЖрд╡рд╢реНрдпрдХ рдорд╛рд╣рд┐рддреА рдХрд╛рдврддреЗ. рд╢реЗрд╡рдЯреА, рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХрд╛рдЪ рдЬреЗрдЧрд░ рдкреНрд░рдгрд╛рд▓реАрдордзреНрдпреЗ рд╕рд░реНрд╡ рдЯреНрд░реЗрд╕ рдорд┐рд│рддрд╛рдд. рд╕реБрдХреНрд╖реНрдо рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирд╕рд╛рдареА, рддреБрдореНрд╣реА рдЕрдзрд┐рдХреГрдд рд▓рд╛рдпрдмреНрд░рд░реАрджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ jaeger go library.

рдиреЗрддреНрд░рдореЗрд╢ - рд╣рд▓рдХреЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреЗ рд╕рдорд╛рдзрд╛рди

рдиреЗрддреНрд░рдореЗрд╢ - рд╣рд▓рдХреЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреЗ рд╕рдорд╛рдзрд╛рди

рдкрдг рдПрдХ рдЕрдбрдЪрдг рдЖрд╣реЗ. рдЬреЛрдкрд░реНрдпрдВрдд рд╕реЗрд╡рд╛ рд╡рд┐рд╢реЗрд╖ рдЙрдмрд░ рд╣реЗрдбрд░ рддрдпрд╛рд░ рдХрд░рдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рдкрд╛рдард╡рдд рдирд╛рд╣реАрдд, рддреЛрдкрд░реНрдпрдВрдд рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╕реНрдкреЕрди рджрд┐рд╕рдгрд╛рд░ рдирд╛рд╣реАрдд. рдЖрдгрд┐ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдХрд╛рд░рдг рддреНрд╡рд░реАрдд рд╢реЛрдзрдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдЖрд╣реЗ. рдЗрдереЗ рдкреБрдиреНрд╣рд╛ рдиреЗрддреНрд░рдореЗрд╢рдХрдбреЗ рдЙрдкрд╛рдп рдЖрд╣реЗ. рдкреНрд░реЙрдХреНрд╕реА HTTP рд╢реАрд░реНрд╖рд▓реЗрдЦ рд╡рд╛рдЪрддрд╛рдд рдЖрдгрд┐, рддреНрдпрд╛рдВрдЪреНрдпрд╛рдд uber рдЯреНрд░реЗрд╕ рдЖрдпрдбреА рдирд╕рд▓реНрдпрд╛рд╕, рдПрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рддрд╛рдд. рдиреЗрддреНрд░рдореЗрд╢ рдЗрдирдХрдорд┐рдВрдЧ рдЖрдгрд┐ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рдорд╛рд╣рд┐рддреА рд╕рд╛рдЗрдбрдХрд╛рд░рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд╡рд┐рдирдВрддреА рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рдВрд╕рд╣ рддреНрдпрд╛рдВрдирд╛ рд╕рдореГрджреНрдз рдХрд░реВрди рдЬреБрд│рд╡рддреЗ. рд╕реЗрд╡рд╛рдВрдордзреНрдпреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рдПрдХ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдкрд╛рдард╡рд╛рдпрдЪрд╛ рдЖрд╣реЗ X-Request-Id, рдЬреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡рд╛рдкрд░реВрди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ NETRA_HTTP_REQUEST_ID_HEADER_NAME. рдиреЗрддреНрд░рдореЗрд╢рдордзреАрд▓ рд╕рдВрджрд░реНрднрд╛рдЪрд╛ рдЖрдХрд╛рд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рдЪрд▓ рд╕реЗрдЯ рдХрд░реВ рд╢рдХрддрд╛: NETRA_TRACING_CONTEXT_EXPIRATION_MILLISECONDS (рдЬреНрдпрд╛ рд╡реЗрд│реЗрд╕рд╛рдареА рд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓) рдЖрдгрд┐ NETRA_TRACING_CONTEXT_CLEANUP_INTERVAL (рд╕рдВрджрд░реНрдн рд╕рд╛рдл рдХрд░рдгреНрдпрд╛рдЪреА рд╡рд╛рд░рдВрд╡рд╛рд░рддрд╛).

рд╡рд┐рд╢реЗрд╖ рд╕рддреНрд░ рдЯреЛрдХрдирд╕рд╣ рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░реВрди рдЖрдкрд▓реНрдпрд╛ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рдПрдХрд╛рдзрд┐рдХ рдкрде рдПрдХрддреНрд░ рдХрд░рдгреЗ рджреЗрдЦреАрд▓ рд╢рдХреНрдп рдЖрд╣реЗ. рдиреЗрддреНрд░рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдЗрдиреНрд╕реНрдЯреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ HTTP_HEADER_TAG_MAP HTTP рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рдВрдирд╛ рд╕рдВрдмрдВрдзрд┐рдд рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╕реНрдкреЕрди рдЯреЕрдЧрдордзреНрдпреЗ рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА. рд╣реЗ рд╡рд┐рд╢реЗрд╖рддрдГ рдЪрд╛рдЪрдгреАрд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░реВ рд╢рдХрддреЗ. рдлрдВрдХреНрд╢рдирд▓ рдЪрд╛рдЪрдгреА рдЙрддреНрддреАрд░реНрдг рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рд╕рдВрдмрдВрдзрд┐рдд рд╕рддреНрд░ рдХреА рджреНрд╡рд╛рд░реЗ рдлрд┐рд▓реНрдЯрд░ рдХреЗрд▓реНрдпрд╛рдиреЗ рд╕рд┐рд╕реНрдЯрдордЪрд╛ рдХреЛрдгрддрд╛ рднрд╛рдЧ рдкреНрд░рднрд╛рд╡рд┐рдд рдЭрд╛рд▓рд╛ рд╣реЗ рдЖрдкрдг рдкрд╛рд╣реВ рд╢рдХрддрд╛.

рд╡рд┐рдирдВрддреА рд╕реНрддреНрд░реЛрдд рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ

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

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

рд╡рд╛рд╣рддреВрдХ рдорд╛рд░реНрдЧ рдЖрдгрд┐ рдиреЗрддреНрд░рдореЗрд╢ рдЕрдВрддрд░реНрдЧрдд

рдиреЗрддреНрд░рдореЗрд╢рдордзреНрдпреЗ рджреЛрди рдореБрдЦреНрдп рдШрдЯрдХ рдЕрд╕рддрд╛рдд. рдкрд╣рд┐рд▓реЗ, рдиреЗрдЯреНрд░рд╛-рдЗрдирд┐рдЯ, рд░рд╣рджрд╛рд░реА рд░реЛрдЦрдгреНрдпрд╛рд╕рд╛рдареА рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рдпрдо рд╕реЗрдЯ рдХрд░рддреЗ. рддреЛ рд╡рд╛рдкрд░рддреЛ iptables рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдирд┐рдпрдо рдиреЗрддреНрд░рдореЗрд╢рдЪрд╛ рджреБрд╕рд░рд╛ рдореБрдЦреНрдп рдШрдЯрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдЗрдбрдХрд╛рд░рд╡рд░реАрд▓ рд╕рд░реНрд╡ рдХрд┐рдВрд╡рд╛ рдХрд╛рд╣реА рднрд╛рдЧ рдЯреНрд░реЕрдлрд┐рдХрдордзреНрдпреЗ рдЕрдбрдерд│рд╛ рдЖрдгрдгреЗ. рдЗрдирдХрдорд┐рдВрдЧ рдЖрдгрд┐ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдЯреАрд╕реАрдкреА рд╕реЗрд╢рдирд╕рд╛рдареА рдХреЛрдгрддреЗ рдкреЛрд░реНрдЯ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рд╣реЗ рддреБрдореНрд╣реА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реВ рд╢рдХрддрд╛: INBOUND_INTERCEPT_PORTS, OUTBOUND_INTERCEPT_PORTS.

рдЯреВрд▓рдордзреНрдпреЗ рдПрдХ рдордиреЛрд░рдВрдЬрдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рджреЗрдЦреАрд▓ рдЖрд╣реЗ - рд╕рдВрднрд╛рд╡реНрдп рд░рд╛рдЙрдЯрд┐рдВрдЧ. рдЬрд░ рддреБрдореНрд╣реА рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╕реНрдкреЕрдиреНрд╕ рдЧреЛрд│рд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдиреЗрддреНрд░рдореЗрд╢ рд╡рд╛рдкрд░рдд рдЕрд╕рд╛рд▓, рддрд░ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рддреБрдореНрд╣реА рд╕рдВрд╕рд╛рдзрдиреЗ рд╡рд╛рдЪрд╡реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рд╡рд╛рдкрд░реВрди рд╕рдВрднрд╛рд╡реНрдп рд░рд╛рдЙрдЯрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░реВ рд╢рдХрддрд╛. NETRA_INBOUND_PROBABILITY ╨╕ NETRA_OUTBOUND_PROBABILITY (0 рддреЗ 1 рдкрд░реНрдпрдВрдд). рдбреАрдлреЙрд▓реНрдЯ рдореВрд▓реНрдп 1 рдЖрд╣реЗ (рд╕рд░реНрд╡ рд░рд╣рджрд╛рд░реА рд░реЛрдЦрд▓реА рдЖрд╣реЗ).

рдпрд╢рд╕реНрд╡реА рдЗрдВрдЯрд░рд╕реЗрдкреНрд╢рдирдирдВрддрд░, рдиреЗрддреНрд░рд╛ рд╕рд╛рдЗрдбрдХрд╛рд░ рдирд╡реАрди рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡реАрдХрд╛рд░рддреЗ рдЖрдгрд┐ рд╡рд╛рдкрд░рддреЗ SO_ORIGINAL_DST рдореВрд│ рдЧрдВрддрд╡реНрдпрд╕реНрдерд╛рди рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╕реЙрдХреЗрдЯ рдкрд░реНрдпрд╛рдп. рдиреЗрддреНрд░рд╛ рдирдВрддрд░ рдореВрд│ IP рдкрддреНрддреНрдпрд╛рд╡рд░ рдПрдХ рдирд╡реАрди рдХрдиреЗрдХреНрд╢рди рдЙрдШрдбрддреЗ рдЖрдгрд┐ рдкрдХреНрд╖рд╛рдВрдордзреАрд▓ рджреНрд╡рд┐-рдорд╛рд░реНрдЧреА TCP рд╕рдВрдкреНрд░реЗрд╖рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ, рддреНрдпрд╛рдордзреВрди рдЬрд╛рдгрд╛рд░реА рд╕рд░реНрд╡ рд░рд╣рджрд╛рд░реА рдРрдХрддреЗ. рдЬрд░ рдкреЛрд░реНрдЯ HTTP рдореНрд╣рдгреВрди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗ рдЕрд╕реЗрд▓, рддрд░ рдиреЗрддреНрд░рд╛ рддреНрдпрд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЖрдгрд┐ рдЯреНрд░реЗрд╕ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЗ. HTTP рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕, рдиреЗрддреНрд░рд╛ TCP рд╡рд░ рдкрд░рдд рдпреЗрддреЗ рдЖрдгрд┐ рдкрд╛рд░рджрд░реНрд╢рдХрдкрдгреЗ рдмрд╛рдЗрдЯреНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд░рддреЗ.

рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдЖрд▓реЗрдЦ рддрдпрд╛рд░ рдХрд░рдгреЗ

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

рддреБрдореНрд╣реА рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╕реНрдкреЕрдиреНрд╕ рд╕рд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА Elasticsearch рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ рдПрдХ рд╕рд╛рдзреА рдЧреЛрд▓рдВрдЧ рдЙрдкрдпреБрдХреНрддрддрд╛, рдЬреЗ Elasticsearch рдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЖрдгрд┐ рдХреНрд╖рдорддрд╛ рд╡рд╛рдкрд░реВрди рдорд┐рдирд┐рдЯрд╛рдВрдд рд╕рдорд╛рди рдЖрд▓реЗрдЦ рддрдпрд╛рд░ рдХрд░реЗрд▓.

рдиреЗрддреНрд░рдореЗрд╢ - рд╣рд▓рдХреЗ рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреЗ рд╕рдорд╛рдзрд╛рди

рдиреЗрддреНрд░рдореЗрд╢ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ

рдХреЛрдгрддреНрдпрд╛рд╣реА рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░рд╡рд░ рдЪрд╛рд▓рдгрд╛рд▒реНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕реЗрд╡реЗрдордзреНрдпреЗ рдиреЗрддреНрд░рд╛ рд╕рд╣рдЬ рдЬреЛрдбрддрд╛ рдпреЗрддреЗ. рдЖрдкрдг рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд╛рд╣реВ рд╢рдХрддрд╛ рдпреЗрдереЗ.

рдпрд╛рдХреНрд╖рдгреА, рдиреЗрддреНрд░рд╛ рдХрдбреЗ рд╕реЗрд╡рд╛рдВрд╕рд╛рдареА рд╕рд╛рдЗрдбрдХрд╛рд░ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рдпреЛрдЬрдирд╛ рдЖрд╣реЗрдд.

рдиреЗрддреНрд░рдореЗрд╢рдЪреЗ рднрд╡рд┐рд╖реНрдп

рдореБрдЦреНрдп рдзреНрдпреЗрдп рдиреЗрддреНрд░рдореЗрд╢ рдХрд┐рдорд╛рди рд╕рдВрд╕рд╛рдзрди рдЦрд░реНрдЪ рдЖрдгрд┐ рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕рд╛рдзреНрдп рдХрд░рдгреЗ, рдирд┐рд░реАрдХреНрд╖рдгрдХреНрд╖рдорддрд╛ рдЖрдгрд┐ рдЖрдВрддрд░-рд╕реЗрд╡рд╛ рд╕рдВрдкреНрд░реЗрд╖рдгрд╛рдЪреНрдпрд╛ рдирд┐рдпрдВрддреНрд░рдгрд╛рд╕рд╛рдареА рдореВрд▓рднреВрдд рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ.

рднрд╡рд┐рд╖реНрдпрд╛рдд, рдиреЗрддреНрд░рдореЗрд╢ HTTP рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд рдЗрддрд░ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЗрдпрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд▓рд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░реЗрд▓. L7 рд░рд╛рдЙрдЯрд┐рдВрдЧ рдирдЬреАрдХрдЪреНрдпрд╛ рднрд╡рд┐рд╖реНрдпрд╛рдд рдЙрдкрд▓рдмреНрдз рд╣реЛрдИрд▓.

рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрд╢рд╛рдЪ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдпреЗрдд рдЕрд╕рд▓реНрдпрд╛рд╕ рдиреЗрддреНрд░рдореЗрд╢ рд╡рд╛рдкрд░рд╛ рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рд╢реНрди рдЖрдгрд┐ рд╕реВрдЪрдирд╛ рд▓рд┐рд╣рд╛.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛