рд╡рд┐рддрд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХред рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛


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


  • рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ
  • рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ-рдЪрдВрдХреНрдб рд░рд┐рд╕реНрдкрд╛рдВрд╕
  • рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
  • рдкреНрд░рдХрд╛рд╢рд┐рдд: рд╕рджрд╕реНрдп рдмрдирдиреЗ
  • рдЙрд▓рдЯрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд-рд╕рджрд╕реНрдпрддрд╛
  • рдХрд╛рд░реНрдп рдХрд╛ рд╡рд┐рддрд░рдг

SOA, MSA рдФрд░ рдореИрд╕реЗрдЬрд┐рдВрдЧ


SOA, MSA - рд╕рд┐рд╕реНрдЯрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░, рдЬреЛ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдореИрд╕реЗрдЬрд┐рдВрдЧ рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЖрджрд┐рдо рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред


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


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


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

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


рд╕рд┐рд╕реНрдЯрдо рдШрдЯрдХ рд╕реАрдзреЗ рдпрд╛ рдПрдХ рджрд▓рд╛рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВред рд╕рдВрджреЗрд╢ рд╕реЗрд╡рд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдХреЗ рдХрдИ рдЬреАрд╡рди рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ:


  • рд╕реЗрд╡рд╛ рдЖрд░рдВрднред
    рдЗрд╕ рд╕реНрддрд░ рдкрд░, рд╕реЗрд╡рд╛ рдирд┐рд╖реНрдкрд╛рджрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рд▓реЙрдиреНрдЪ рд╣реЛрддрд╛ рд╣реИред
  • рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ рдмрдирд╛рдирд╛ред
    рд╕реЗрд╡рд╛ рдиреЛрдб рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдерд┐рд░ рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИ, рдпрд╛ рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛ рд╕рдХрддреА рд╣реИред
  • рд╕реЗрд╡рд╛ рдкрдВрдЬреАрдХрд░рдгред
    рд╕реЗрд╡рд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ рдкрд░ рдкрдВрдЬреАрдХреГрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рдордХрд╛рдЬред
    рд╕реЗрд╡рд╛ рдЙрдкрдпреЛрдЧреА рдХрд╛рдо рдкреИрджрд╛ рдХрд░рддреА рд╣реИред
  • рд╢рдЯрдбрд╛рдЙрдиред
    2 рдкреНрд░рдХрд╛рд░ рдХреЗ рд╢рдЯрдбрд╛рдЙрди рд╣реИрдВ: рдирд┐рдпрдорд┐рдд рдФрд░ рдЖрдкрд╛рддрдХрд╛рд▓реАрдиред рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде, рдпрд╣ рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕рдВрджреЗрд╢ рд╡рд┐рдлрд▓рддрд╛ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рд╕реЗ рдПрдХ рдЪрд▓рддрд╛ рд╣реИред

рдпрд╣ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдб рдореЗрдВ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред


рдПрдХреНрд╕рдЪреЗрдВрдЬреЛрдВ


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


рд╕рдВрджреЗрд╢ рд╡рд┐рдирд┐рдордп рдкреИрдЯрд░реНрди (MEPs)


рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░, рд╕рд╛рдЭрд╛рдХрд░рдг рдкреИрдЯрд░реНрди рдХреЛ рджреЛ-рддрд░рдлрд╝рд╛ рдФрд░ рдПрдХ-рддрд░рдлрд╝рд╛ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреВрд░реНрд╡ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╕рдВрджреЗрд╢ рдХрд╛ рдЬрд╡рд╛рдм рд╣реИ, рдмрд╛рдж рд╡рд╛рд▓рд╛ рдирд╣реАрдВред рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рджреЛ-рддрд░рдлрд╝рд╛ рдкреИрдЯрд░реНрди рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдЕрдиреБрд░реЛрдз-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреИрдЯрд░реНрди рд╣реИред рдЯреЗрдореНрдкрд▓реЗрдЯ рдФрд░ рдЙрд╕рдХреЗ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред


рдЕрдиреБрд░реЛрдз - рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдпрд╛ рдЖрд░рдкреАрд╕реА


RPC рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╣рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рд╣реА рд╕рд╛рдЗрдЯ рдкрд░ рдпрд╛ рдПрдХ рдЕрд▓рдЧ рдорд╣рд╛рджреНрд╡реАрдк рдкрд░ рд╕реНрдерд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИред рдиреАрдЪреЗ рд╕рдВрджреЗрд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рдФрд░ рд╕рд░реНрд╡рд░ рдХреА рдмрд╛рддрдЪреАрдд рдХрд╛ рдПрдХ рдЪрд┐рддреНрд░ рд╣реИред



рдЪреВрдВрдХрд┐ рдореИрд╕реЗрдЬрд┐рдВрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЪреЗрдВрдЬ 2 рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ:


  1. рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз


    messaging:request(Exchange, ResponseMatchingTag, RequestDefinition, HandlerProcess). 

    рд╡рд┐рдирд┐рдордп - рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреВрдард╛ рдирд╛рдо
    ResponseMatchingTag - рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд▓реЗрдмрд▓ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрдИ рд╕рдорд╛рди рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВред
    RequestDefinition - рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп
    рд╣реИрдВрдбрд▓рд░рдкреНрд░реЛрд╕реЗрд╕ - рдкреАрдЖрдИрдбреА тАЛтАЛрд╣реИрдВрдбрд▓рд░ред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреАред


  2. рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг


     handle_info(#'$msg'{exchange = EXCHANGE, tag = ResponseMatchingTag,message = ResponsePayload}, State) 

    ResponsePayload - рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ред



рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ 2 рдЪрд░рдг рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:


  1. рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкреНрд╡рд╛рдЗрдВрдЯ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди
  2. рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛

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


рд╕рд░реНрд╡рд░ рдХреЛрдб


Api.hrl рдореЗрдВ рд╕реЗрд╡рд╛ API рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдирд┐рдХрд╛рд▓реЗрдВ:


 %% ===================================================== %% entities %% ===================================================== -record(time, { unixtime :: non_neg_integer(), datetime :: binary() }). -record(time_error, { code :: non_neg_integer(), error :: term() }). %% ===================================================== %% methods %% ===================================================== -record(time_req, { opts :: term() }). -record(time_resp, { result :: #time{} | #time_error{} }). 

рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ time_controller.erl рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ


 %%      .     gen_server    . %%  gen_server init(Args) -> %%     messaging:monitor_exchange(req_resp, ?EXCHANGE, default, self()) {ok, #{}}. %%       .    ,      . handle_info(#exchange_die{exchange = ?EXCHANGE}, State) -> erlang:send(self(), monitor_exchange), {noreply, State}; %%  API handle_info(#time_req{opts = _Opts}, State) -> messaging:response_once(Client, #time_resp{ result = #time{ unixtime = time_utils:unixtime(now()), datetime = time_utils:iso8601_fmt(now())} }); {noreply, State}; %%   gen_server terminate(_Reason, _State) -> messaging:demonitor_exchange(req_resp, ?EXCHANGE, default, self()), ok. 

рдЧреНрд░рд╛рд╣рдХ рдХреЛрдб


рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдХреЛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЧреНрд░рд╛рд╣рдХ рдореЗрдВ рдХрд╣реАрдВ рднреА рдореИрд╕реЗрдЬрд┐рдВрдЧ рдЕрдиреБрд░реЛрдз рдПрдкреАрдЖрдИ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


 case messaging:request(?EXCHANGE, tag, #time_req{opts = #{}}, self()) of ok -> ok; _ -> %% repeat or fail logic end 

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


 handle_info(#'$msg'{exchange = ?EXCHANGE, tag = tag, message = #time_resp{result = #time{unixtime = Utime}}}, State) -> ?debugVal(Utime), {noreply, State}; handle_info(#'$msg'{exchange = ?EXCHANGE, tag = tag, message = #time_resp{result = #time_error{code = ErrorCode}}}, State) -> ?debugVal({error, ErrorCode}), {noreply, State}; 

рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ-рдЪрдВрдХреНрдб рд░рд┐рд╕реНрдкрд╛рдВрд╕


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



рдореИрдВ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛:


  • рдШрдЯрдХ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдлрд╛рдЗрд▓реЗрдВред рдЙрддреНрддрд░ рдХреЛ рдЫреЛрдЯреЗ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдЖрдХрд╛рд░ рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИ рдФрд░ рдореЗрдореЛрд░реА рдУрд╡рд░рдлреНрд▓реЛ рдХреЛ рдирд╣реАрдВ рдкрдХрдбрд╝рддреА рд╣реИред
  • рд▓рд┐рд╕реНрдЯрд┐рдВрдЧред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдШрдЯрдХ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ рдЗрди рдЙрддреНрддрд░реЛрдВ рдХреЛ рдПрдХ рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡ рдХрд╣рддрд╛ рд╣реВрдВред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ 1 рдЬреАрдмреА рд╕рдВрджреЗрд╢ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 1024 1 рдПрдордмреА рд╕рдВрджреЗрд╢ рдмреЗрд╣рддрд░ рд╣реИрдВред


рдПрд░рд▓реИрдВрдЧ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдн рдорд┐рд▓рддрд╛ рд╣реИ - рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд▓реЛрдб рдХреЛ рдХрдо рдХрд░рдирд╛, рдЪреВрдВрдХрд┐ рдЬрд╡рд╛рдм рддреБрд░рдВрдд рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реБрдПред


рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛


рдпрд╣ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП RPC рдкреИрдЯрд░реНрди рдХрд╛ рдПрдХ рдХрд╛рдлреА рджреБрд░реНрд▓рдн рд╕рдВрд╢реЛрдзрди рд╣реИред



рдкреНрд░рдХрд╛рд╢рд┐рдд-рд╕рджрд╕реНрдпрддрд╛ (рдбреЗрдЯрд╛ рд╡рд┐рддрд░рдг рдЯреНрд░реА)


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



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


рдЧреНрд░рд╛рд╣рдХ рдХреЛрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:


 init(_Args) -> %%   ,  = key messaging:subscribe(?SUBSCRIPTION, key, tag, self()), {ok, #{}}. handle_info(#exchange_die{exchange = ?SUBSCRIPTION}, State) -> %%    ,    messaging:subscribe(?SUBSCRIPTION, key, tag, self()), {noreply, State}; %%    handle_info(#'$msg'{exchange = ?SUBSCRIPTION, message = Msg}, State) -> ?debugVal(Msg), {noreply, State}; %%    -     terminate(_Reason, _State) -> messaging:unsubscribe(?SUBSCRIPTION, key, tag, self()), ok. 

рд╕реНрд░реЛрдд рдХрд┐рд╕реА рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрдерд╛рди рдкрд░ рдкреЛрд╕реНрдЯ рдкреНрд░рдХрд╛рд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


 messaging:publish_message(Exchange, Key, Message). 

рд╡рд┐рдирд┐рдордп - рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ рдХрд╛ рдирд╛рдо,
рдХреА - рд░реВрдЯрд┐рдВрдЧ рдХреА
рд╕рдВрджреЗрд╢ - рдкреЗрд▓реЛрдб


рдЙрд▓рдЯрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд-рд╕рджрд╕реНрдпрддрд╛



рдкрдм-рдЙрдк рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдХреЗ, рдЖрдк рдПрдХ рдкреИрдЯрд░реНрди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╕реНрд░реЛрддреЛрдВ рдФрд░ рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рдХрд╛ рд╕реЗрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрдВрдХрдбрд╝рд╛ рдПрдХ рдЙрдкрднреЛрдХреНрддрд╛ рдФрд░ рдХрдИ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдорд╛рдорд▓рд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред


рдЯрд╛рд╕реНрдХ рд╡рд┐рддрд░рдг рдкреИрдЯрд░реНрди


рд▓рдЧрднрдЧ рд╣рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдЖрд╕реНрдердЧрд┐рдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдХрд╛рд░реНрдп рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХрд░рдирд╛, рд╕реВрдЪрдирд╛рдПрдВ рдкрд╣реБрдВрдЪрд╛рдирд╛, рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдереНрд░реВрдкреБрдЯ рдЬреЛ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рддрд╛ рд╣реИ, рдЖрд╕рд╛рдиреА рд╕реЗ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рдХрд░ рдорд╛рдкрдиреАрдп рд╣реИред рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЬреЛ рдХреБрдЫ рднреА рд╣реИ рд╡рд╣ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред


3 рд╣реИрдВрдбрд▓рд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдХрд╛рд░реНрдп рд╡рд┐рддрд░рдг рдХреЗ рдЪрд░рдг рдореЗрдВ рднреА, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╡рд┐рддрд░рдг рдФрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреА рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдХрд╛ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИред рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди рд╡рд┐рддрд░рдг рдиреНрдпрд╛рдп рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧрд╛, рдФрд░ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо prefetch_limit рдкреНрд░рддрд┐рдмрдВрдз рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдХреНрд╖рдгрд┐рдХ рдореЛрдб рдореЗрдВ, рдкреНрд░реАрдлрд╝реИрдЪ_рд▓реАрдорд┐рдЯ рдПрдХ рд╣реИрдВрдбрд▓рд░ рдХреЛ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХреЗрдЧрд╛ред


рдореИрд╕реЗрдЬрд┐рдВрдЧ рдХрддрд╛рд░реЗрдВ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред рдЙрдкрд▓рдмреНрдз рд╣реЛрддреЗ рд╣реА рд╣реИрдВрдбрд▓рд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдХрд╛рд░реНрдп рд╕рдлрд▓ рдпрд╛ рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:


  • messaging:ack(Tack) - рд╕рдлрд▓ рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
  • messaging:nack(Tack) - рдЬрд┐рд╕реЗ рд╕рднреА рдЖрдкрд╛рддрдХрд╛рд▓реАрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЯрд╛рд╕реНрдХ рд░рд┐рдЯрд░реНрди рдХреЗ рдмрд╛рдж, рдореИрд╕реЗрдЬрд┐рдВрдЧ рдЗрд╕реЗ рджреВрд╕рд░реЗ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░ рджреЗрдЧрд╛ред


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рддреАрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рдПрдХ рдЬрдЯрд┐рд▓ рд╡рд┐рдлрд▓рддрд╛ рд╣реБрдИ: рд╣реИрдВрдбрд▓рд░ 1, рдХрд╛рд░реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХреНрд╕рдЪреЗрдВрдЬ рдмрд┐рдВрджреБ рдкрд░ рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдПрдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╡рд┐рдирд┐рдордп рдмрд┐рдВрджреБ рджреВрд╕рд░реЗ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдиреМрдХрд░реА рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░реЗрдЧрд╛ред рд╣реИрдВрдбрд▓рд░ 3 рдиреЗ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЯрд╛рд╕реНрдХ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдФрд░ рдЙрд╕реЗ рд╡рд╛рдкрд╕ рднреЗрдЬ рджрд┐рдпрд╛, рдирддреАрдЬрддрди, рдпрд╣ рдЯрд╛рд╕реНрдХ рджреВрд╕рд░реЗ рд╣реИрдВрдбрд▓рд░ рдХреЛ рднреА рджрд┐рдпрд╛ рдЧрдпрд╛ рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред


рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░рд┐рдгрд╛рдо


рд╣рдордиреЗ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдирд┐рд░реНрдорд╛рдг рдЦрдВрдбреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░ рд▓рд┐рдпрд╛ рдФрд░ рдПрд░рд▓рд╛рдВрдЧ / рдПрд▓рд┐рдХреНрд╕рд┐рд░ рдореЗрдВ рдЙрдирдХреЗ рдЖрд╡реЗрджрди рдХреА рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рд╕рдордЭ рдкреНрд░рд╛рдкреНрдд рдХреАред


рдмреБрдирд┐рдпрд╛рджреА рдкреИрдЯрд░реНрди рдХреЗ рд╕рдВрдпреЛрдЬрди рд╕реЗ, рдЖрдк рдЙрднрд░рддреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЯрд┐рд▓ рдкреНрд░рддрд┐рдорд╛рдиреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдЪрдХреНрд░ рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧ рдореЗрдВ, рд╣рдо рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рдВрдЧрдарди рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдореБрджреНрджреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдорд╛рд░реНрдЧ рдФрд░ рд╕рдВрддреБрд▓рди, рдФрд░ рд╕рд╛рде рд╣реА рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрдХреНрд╖ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред


рджреВрд╕рд░реЗ рднрд╛рдЧ рдХрд╛ рдЕрдВрддред


рдлреЛрдЯреЛ рдорд╛рд░рд┐рдпрд╕ рдХреНрд░рд┐рд╕реНрдЯреЗрдВрд╕рди
рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ webfterencediagrams.com рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ

Source: https://habr.com/ru/post/hi446108/


All Articles