рдХреИрд╕реЗ рд╢реБрд░реВ рд╕реЗ рд╣реА рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝рдирд╛ рд╣реИ

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



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


рд▓реЙрдиреНрдЪ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░реА - рд▓реЙрдЧрд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


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


рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рд▓реЙрдЧрд┐рдВрдЧ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИред рд▓реЗрдХрд┐рди рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ stdout рдореЗрдВ рдереЛрдбрд╝рд╛ рд▓рд┐рдЦрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рддрдерд╛рдХрдерд┐рдд рд╢рд╛рдВрдд рдореЛрдб рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред stdout рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рднрдпрд╛рдирдХ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреА, рдФрд░ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕ рдкрд░ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреЛ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ - ${IGNITE_HOME}/work/log )ред рдЖрдк рдЗрд╕реЗ рдорд┐рдЯрд╛рддреЗ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рд▓реЙрдЧ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рдЦрддреЗ рд╣реИрдВ, рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ stdout рдкреНрд░рдЬреНрд╡рд▓рд┐рдд рдХрд░реЗрдВ



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


 ignite.sh -v 

рдФрд░ рдлрд┐рд░ рд╕рд┐рд╕реНрдЯрдо рд╢реЗрд╖ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред


рд▓реЙрдЧ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ! рдмрд╣реБрдд рдмрд╛рд░ рдЙрдирдореЗрдВ рдЖрдк рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдзреНрд╡рд╕реНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд▓реЙрдЧ рдореЗрдВ рдмрд╣реБрдд рдмрд╛рд░ рдЖрдк "рдЗрд╕ рддрд░рд╣ рдХреЗ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрдврд╝рд╛рдПрдБ" рдЬреИрд╕реЗ рд╕рдВрджреЗрд╢ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЙрд╕рдХреА рд╡рдЬрд╣ рд╕реЗ рдЧрд┐рд░ рдЧрдПред рд╡рд╣ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред тАЭ


рдХреНрд▓рд╕реНрдЯрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛


рдмрд┐рди рдмреБрд▓рд╛рдП рдореЗрд╣рдорд╛рди


рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрдИ рдЪреЗрд╣рд░реЗ рдЖрдкрдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдмрд┐рди рдмреБрд▓рд╛рдП рдореЗрд╣рдорд╛рди рд╣реИрдВред рдпрд╛ рдЖрдк рдЦреБрдж рдПрдХ рдмрд┐рди рдмреБрд▓рд╛рдП рдореЗрд╣рдорд╛рди рдмрди рдЬрд╛рддреЗ рд╣реИрдВ: рдПрдХ рдирдпрд╛ рдХреНрд▓рд╕реНрдЯрд░ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдЕрдЪрд╛рдирдХ рдЖрдк рджреЗрдЦреЗрдВ рдХрд┐ рдкрд╣рд▓реЗ рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕реНрдиреИрдкрд╢реЙрдЯ рдореЗрдВ рдПрдХ рдиреЛрдб рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЗ рдкрд╛рд╕ рд╢реБрд░реВ рд╕реЗ рд╣реА рджреЛ рд╕рд░реНрд╡рд░ рд╣реИрдВред рдРрд╕рд╛ рдХреИрд╕реЗ? рдЖрдкрдиреЗ рдХреЗрд╡рд▓ рдПрдХ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рд╣реИред


рдПрдХ рд╕рдВрджреЗрд╢ рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рджреЛ рдиреЛрдб рд╣реИрдВ



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


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


рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрддреЗ


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


рддреАрди IP рдкрддреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд▓реЗрдВред рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП, рд╣рдо 10 рдкреЛрд░реНрдЯреЛрдВ рдХреА рд╢реНрд░реЗрдгреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдХреБрд▓ рдореЗрдВ, 30 рдЯреАрд╕реАрдкреА рдкрддреЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреЛ рдПрдХ рдирдпрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореМрдЬреВрджрд╛ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдмрджрд▓реЗ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЖрдИрдкреА рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЗ рд▓реИрдкрдЯреЙрдк рдкрд░ рдЪреЛрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреЛрд░реНрдЯ рд╕реНрдХреИрдирд┐рдВрдЧ рд╕рдВрд░рдХреНрд╖рдг рдЕрдХреНрд╕рд░ рдХреБрдЫ рдмрд╛рджрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЬрдм рдХреБрдЫ рдЖрдИрдкреА рдкрддреЗ рдкрд░ рдПрдХ рдирд┐рдЬреА рдкреЛрд░реНрдЯ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА рдЬрдм рддрдХ рдХрд┐ рдЯрд╛рдЗрдордЖрдЙрдЯ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ 10 рд╕реЗрдХрдВрдб рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 10 рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ 3 рдкрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 3 * 10 * 10 = 300 рд╕реЗрдХрдВрдб рдорд┐рд▓рддреЗ рд╣реИрдВ - рдЬреЛ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдореЗрдВ 5 рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВред


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


рддреАрд╕рд░рд╛ рдЖрдо рдореБрджреНрджрд╛ IPv6 рд╣реИред рдЖрдк рдЕрдЬреАрдм рдиреЗрдЯрд╡рд░реНрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛, рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рднреЗрдЬ рд╕рдХрд╛, рдиреЛрдб рдЦрдВрдбрд┐рддред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдЧрд┐рд░ рдЧрдП рд╣реИрдВред рдмрд╣реБрдд рдмрд╛рд░, рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖрдИрдкреАрд╡реА 4 рдФрд░ рдЖрдИрдкреАрд╡реА 6 рд╕реЗ рдорд┐рд╢реНрд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИрдВред рдпрд╣ рдХрд╣рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ IPv6 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред


рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдЙрдкрд╛рдп рдЬрд╛рд╡рд╛ рдорд╢реАрди рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реИ


 -Djava.net.preferIPv4Stack=true 

рддрдм рдЬрд╛рд╡рд╛ рдФрд░ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдЖрдИрдкреАрд╡реА 6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рд╕рдореВрд╣реЛрдВ рдХреЗ рдврд╣рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред


рдХреЛрдб рдмреЗрд╕ рдХреА рддреИрдпрд╛рд░реА - рд╣рдо рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ


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


рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рддреАрди рддрдВрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:


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

BinaryMarshaller рдХреЛ BinaryMarshaller рдФрд░ рдбреА- BinaryMarshaller рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдлрд╝реАрд▓реНрдб рдФрд░ рд╕рд░рд▓ рддрд░реАрдХреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ readObject() рдФрд░ readObject() рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╕реНрдЯрдо readObject() , рдпрджрд┐ рдЖрдк Externalizable рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ BinaryMarshaller рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд╡рд╣ рджреЗрдЦреЗрдЧрд╛ рдХрд┐ рдЖрдкрдХреА рд╡рд╕реНрддреБ рдХреЛ рдЧреИрд░-рдХреНрд╖рдгрд┐рдХ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╕рд╛рдорд╛рдиреНрдп рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╡рд╣ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ - рдпрд╣ OptimizedMarshaller рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧреАред


рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдРрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рджреЛрд╕реНрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ Binarylizable рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА Binarylizable рд╣реИред рд╡рд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛ рд╕реЗ рдПрдХ рдорд╛рдирдХ TreeMap рд╣реИред рдЗрд╕рдореЗрдВ рдХрд╕реНрдЯрдо рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдФрд░ рдбреНрдпреВрд░реЗрд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░реАрдб рдПрдВрдб рд░рд╛рдЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИред рдпрд╣ рдкрд╣рд▓реЗ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЖрдЙрдЯрдкреБрдЯрд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд▓рдВрдмрд╛рдИ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрд╡рдпрдВ рд▓рд┐рдЦрддрд╛ рд╣реИред


TreeMap.writeObject() рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди TreeMap.writeObject()


 private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { // Write out the Comparator and any hidden stuff s.defaultWriteObject(); // Write out size (number of Mappings) s.writeInt(size); // Write out keys and values (alternating) for (Iterator<Map.Entry<K,V>> i = entrySet().iterator(); i.hasNext(); ) { Map.Entry<K,V> e = i.next(); s.writeObject(e.getKey()); s.writeObject(e.getValue()); } } 

writeBinary() рдФрд░ readBinary() Binarylizable рдХрд╛рдо рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рддрд░рд╣ рд╕реЗ: Binarylizable рдЦреБрдж рдХреЛ рдПрдХ рд░реЗрдЧреБрд▓рд░ Binarylizable рдореЗрдВ рд▓рдкреЗрдЯрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ Binarylizable рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдФрд░ рдпрд╣ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЛ рдмрд╣реБрдд рдмрдврд╝рд╛рдПрдЧрд╛ред


BinaryTreeMap.writeBinary() рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


 public void writeBinary(BinaryWriter writer) throws BinaryObjectException { BinaryRawWriter rewriter = writer. rewrite (); rawWriter.writeObject(map.comparator()); int size = map.size(); rawWriter.writeInt(size); for (Map.Entry<Object, Object> entry : ((TreeMap<Object, Object>)map).entrySet()) { rawWriter.writeObject(entry.getKey()); rawWriter.writeObject(entry.getValue()); } } 

рдХрдореНрдкреНрдпреВрдЯ рдЧреНрд░рд┐рдб рдореЗрдВ рд▓реЙрдиреНрдЪ


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


рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ?


 Foo foo = тАж; Bar bar = ...; ignite.compute().broadcast( () -> doStuffWithFooAndBar(foo, bar) ); 

рдФрд░ рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ рддреЛ?


 Foo foo = тАж; Bar bar = ...; ignite.compute().broadcast(new IgniteRunnable() { @Override public void run() { doStuffWithFooAndBar(foo, bar); } }); 

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


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


рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдгред рд▓реИрдореНрдмреНрдбрд╛ рдлрд┐рд░ рд╕реЗ, рд▓реЗрдХрд┐рди рдЬреЛ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдПрдкреАрдЖрдИ рдХреЛ рдереЛрдбрд╝рд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред


рдХрдВрдкреНрдпреВрдЯ рдХреНрд▓реЛрдЬрд░ рдХреЗ рдЕрдВрджрд░ рдЗрдЧреНрдирд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЧрд▓рдд рд╣реИ


 ignite.compute().broadcast(() -> { IgniteCache foo = ignite.cache("foo"); String sql = "where id = 42"; SqlQuery qry = new SqlQuery("Foo", sql).setLocal(true); return foo.query(qry); }); 

рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдпрд╣ рдХреИрд╢ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЗрд╕рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА SQL рдХреНрд╡реЗрд░реА рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдРрд╕рд╛ рдкреИрдЯрд░реНрди рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдПрдХ рдХрд╛рд░реНрдп рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рджреВрд░рд╕реНрде рдиреЛрдб рдкрд░ рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


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


рдореВрд▓ рд░реВрдк рд╕реЗ, рдЖрдк рдмрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рддрдирд╛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдХреЛрдб рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдпрд╛ рдЗрд╕рдХреЗ рдХреБрдЫ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓реЙрдиреНрдЪ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╣реИ Ignintion.localIgnite() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рдзрд╛рдЧреЗ рд╕реЗ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ Apache рдЗрдЧреНрдирд╛рдЗрдЯ рдиреЗ рдмрдирд╛рдпрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рд╕реНрдерд╛рдиреАрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд▓реИрдореНрдмреНрдбрд╛, рд╕реЗрд╡рд╛рдПрдВ, рдХреБрдЫ рднреА рд╣реИрдВ, рдФрд░ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕ рд╡рд┐рдзрд┐ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред


рд╣рдо localIgnite() - localIgnite() рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдЕрдВрджрд░ рдЗрдЧреНрдирд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ


 ignite.compute().broadcast(() -> { IgniteCache foo = Ignition.localIgnite().cache("foo"); String sql = "where id = 42"; SqlQuery qry = new SqlQuery("Foo", sql).setLocal(true); return foo.query(qry); }); 

рдФрд░ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рдЕрдВрддрд┐рдо рдЙрджрд╛рд╣рд░рдгред рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдЧреНрд░рд┐рдб рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдзреЗ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреЛ рд╕рд╣реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдСрдирд▓рд╛рдЗрди рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рдорд╛рди рд▓реАрдЬрд┐рдП рдЗрд╕ рд╕реЗрд╡рд╛ рдореЗрдВ рд╣рдореЗрдВ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХрд╛ рд▓рд┐рдВрдХ рднреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ? рд╣рдо localIgnite() рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЗрд╕ рд▓рд┐рдВрдХ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╕рд╣реЗрдЬрдирд╛ рд╣реЛрдЧрд╛ред


рд╕реЗрд╡рд╛ рдХреНрд╖реЗрддреНрд░ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рдЬреНрд╡рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ - рдЗрд╕реЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ


 MyService s = new MyService(ignite) ignite.services().deployClusterSingleton("svc", s); ... public class MyService implements Service { private Ignite ignite; public MyService(Ignite ignite) { this.ignite = ignite; } ... } 

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


рд╕реЗрд╡рд╛ @IgniteInstanceResource рдХрд╛ рдЙрдкрдпреЛрдЧ @IgniteInstanceResource


 public class MyService implements Service { @IgniteInstanceResource private Ignite ignite; public MyService() { } ... } 

рдбреЗрдЯрд╛ рд▓рд┐рдЦрдирд╛ рдФрд░ рдкрдврд╝рдирд╛


рдмреЗрд╕рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рджреЗрдЦрдирд╛


рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдФрд░ рддреИрдпрд╛рд░ рдХреЛрдб рд╣реИред


рдЖрдЗрдП рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ:


  • рдПрдХ REPLICATED рдХреИрд╢ - рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рдбреЗрдЯрд╛ рдХреА рдкреНрд░рддрд┐рдпрд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ;
  • рдореВрд▓ рджреГрдврд╝рддрд╛ рдЬрд╛рд░реА рд╣реИ - рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦреЗрдВред

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


рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдЖрдзрд╛рд░рднреВрдд рдЯреЛрдкреЛрд▓реЙрдЬреА рд╣реИ - рдХрдИ рдиреЛрдбреНрд╕ рдЬреЛ рдЙрди рдкрд░ рджреГрдврд╝рддрд╛ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдиреНрдп рд╕рднреА рдиреЛрдбреНрд╕ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред


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


 control.sh --baseline 

рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ рдиреЛрдбреНрд╕ рд╡рд╣рд╛рдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВред рд╡рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдзрд╛рд░ рд░реЗрдЦрд╛ рдХреЛ рдЙрд╕рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреА рд╣реИред


control.sh рдЙрджрд╛рд╣рд░рдг



рдбрд╛рдЯрд╛ рдХреЙрд▓реЛрд▓реЗрд╢рди


рдЕрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдбреЗрдЯрд╛ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ SQL тАЛтАЛрд╕рдкреЛрд░реНрдЯ рд╣реИ, рдЖрдк SELECT - рд▓рдЧрднрдЧ Oracle рдХреА рддрд░рд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рд╣рдо рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдиреЛрдбреНрд╕ рдХреЛ рд╕реНрдХреЗрд▓ рдФрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛ рдХреЛ рд╡рд┐рддрд░рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рдРрд╕реЗ рдореЙрдбрд▓ рдХреЛ рджреЗрдЦреЗрдВ:


 public class Person { @QuerySqlField public Long id; @QuerySqlField public Long orgId; } public class Organization { @QuerySqlField private Long id; } 

рдЬрд╛рдВрдЪ


 SELECT * FROM Person as p JOIN Organization as o ON p.orgId = o.id 

рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ?


рд╡реНрдпрдХреНрддрд┐ ( Person ) рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЧрдарди ( Organization ) рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рджреЛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдФрд░ рдРрд╕реА рдПрд╕рдХреНрдпреВрдПрд▓ рдХреНрд╡реЗрд░реА рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрдИ рдиреЛрдбреНрд╕ рдХреЗ рд╕рд╛рде рд╣рдо рд╕рднреА рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред


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


рд╕рд╣реА рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдбреЗрдЯрд╛ (рдХреЙрд▓реЛрдХреЗрд╢рди) рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣реА рд╣реИ, рд╡реНрдпрдХреНрддрд┐ рдФрд░ рд╕рдВрдЧрдарди рдХреЗ рд╕рд╣реА рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП, рджреЛрдиреЛрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╣реА рдиреЛрдб рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред


рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ? рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рдПрдХ рдЖрддреНрдореАрдпрддрд╛ рдХреБрдВрдЬреА рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдПрдХ рдореВрд▓реНрдп рд╣реИ рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдиреЛрдб рдкрд░, рдХрд┐рд╕ рд╡рд┐рднрд╛рдЬрди рдореЗрдВ, рдХрд┐рд╕ рд╕рдореВрд╣ рдореЗрдВ рдпрд╣ рдпрд╛ рд╡рд╣ рдорд╛рди рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛ред рдпрджрд┐ рд╣рдо Person рдореЗрдВ рд╕рдВрдЧрдарди рдЖрдИрдбреА рдХреЛ рдПрдХ рдЖрддреНрдореАрдпрддрд╛ рдХреА рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕ рд╕рдВрдЧрдарди рдЖрдИрдбреА рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдорд╛рди рдЖрдИрдбреА рд╡рд╛рд▓реЗ рд╕рдВрдЧрдарди рдХреЗ рд╕рдорд╛рди рдиреЛрдб рдкрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


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


рдЖрдЗрдП рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдЖрддреНрдореАрдпрддрд╛ рдХреА рдЪрд╛рдмрд┐рдпрд╛рдБ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВред рд╣рдо рдХреИрд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕реА рдФрд░ рдРрд╕реА рдЖрдИрдбреА, рдРрд╕рд╛ рдФрд░ рдРрд╕рд╛ рдХреНрд╖реЗрддреНрд░ рдЖрддреНрдореАрдпрддрд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ? рдпрджрд┐ рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╣реА orgId рд╕рднреА рд▓реЛрдЧ рдПрдХ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рддреЛ orgId рдПрдХ рдЕрд╡рд┐рднрд╛рдЬреНрдп рд╕рдореВрд╣ рд╣реИред рд╣рдо рдЗрд╕реЗ рдХрдИ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ 10 рд╕рдВрдЧрдарди рд╣реИрдВ, рддреЛ 10 рдЕрд╡рд┐рднрд╛рдЬреНрдп рд╕рдореВрд╣ рд╣реЛрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ 10 рдиреЛрдбреНрд╕ рдкрд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЕрдзрд┐рдХ рдиреЛрдбреНрд╕ рд╣реИрдВ, рддреЛ рд╕рднреА "рдЕрддрд┐рд░рд┐рдХреНрдд" рдиреЛрдб рдмрд┐рдирд╛ рд╕рдореВрд╣реЛрдВ рдХреЗ рд░рд╣реЗрдВрдЧреЗред рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╕реЛрдЪреЗрдВред


рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝рд╛ рд╕рдВрдЧрдарди рд╣реИ рдФрд░ 9 рдЫреЛрдЯреЗ рд╣реИрдВ, рддреЛ рд╕рдореВрд╣реЛрдВ рдХрд╛ рдЖрдХрд╛рд░ рдЕрд▓рдЧ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ, рдЖрддреНрдореАрдпрддрд╛ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реИ рдЬрдм рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдиреЛрдбреНрд╕ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╡рд╣ рдПрдХ рд╕рдореВрд╣ рдХреЛ рдПрдХ рдиреЛрдб рдкрд░ рдирд╣реАрдВ рдбрд╛рд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЛ рд╡рд┐рддрд░рдг рдХреЗ рд╕реНрддрд░ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП 9 рдЕрдиреНрдп рдХреЛ рджреВрд╕рд░реЗ рдкрд░ рдбрд╛рд▓ рджреЗрдЧрд╛ред рдмрд▓реНрдХрд┐, рд╡рд╣ рдЙрдиреНрд╣реЗрдВ 5 рдФрд░ 5, (рдпрд╛ 6 рдФрд░ 4, рдпрд╛ 7 рдФрд░ 3) рднреА рдбрд╛рд▓ рджреЗрдЧрд╛ред


рдбреЗрдЯрд╛ рдХреЛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ


  • K рдХреБрдВрдЬреА;
  • рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдЖрддреНрдореАрдпрддрд╛ рдХреБрдВрдЬреА;
  • рдкреА рд╡рд┐рднрд╛рдЬрди, рдЕрд░реНрдерд╛рддреН, рдбреЗрдЯрд╛ рдХреЗ рдмрдбрд╝реЗ рд╕рдореВрд╣ рдЬреЛ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ;
  • рдПрди рдиреЛрдбреНрд╕ред

рдлрд┐рд░ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╢рд░реНрдд


 K >> A >> P >> N 

рдЬрд╣рд╛рдБ >> "рдмрд╣реБрдд рдЕрдзрд┐рдХ" рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рд╡реИрд╕реЗ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ P = 1024 рд╣реИред


рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рд╕рдорд╛рди рд╡рд┐рддрд░рдг рдореЗрдВ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ 1.x рд╕реЗ 1.9 рдореЗрдВ рдпрд╣ рдорд╛рдорд▓рд╛ рдерд╛ред рдЗрд╕реЗ FairAffinityFunction рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ - рдЗрд╕рд╕реЗ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рд╣реЛрддрд╛ рдерд╛ред рдЕрдм рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ RendezvousAffinityFunction рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдИрдорд╛рдирджрд╛рд░ рд╡рд┐рддрд░рдг рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рддреНрд░реБрдЯрд┐ рдкреНрд▓рд╕ рдпрд╛ рдорд╛рдЗрдирд╕ 5-10% рд╣реЛрдЧреАред


рдирдИ рдЕрдкрд╛рдЪреЗ рдХреЗ рд▓рд┐рдП рдЪреЗрдХрд▓рд┐рд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рдЬреНрд╡рд▓рд┐рдд рдХрд░реЗрдВ


  1. рд╕реЗрдЯ, рдкрдврд╝реЗрдВ, рд╕реНрдЯреЛрд░ рд▓реЙрдЧ
  2. рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рдмрдВрдж рдХрд░реЗрдВ, рдХреЗрд╡рд▓ рдЙрди рдкрддреЗ рдФрд░ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рд▓рд┐рдЦреЗрдВ рдЬреЛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
  3. IPv6 рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ
  4. BinaryMarshaller рд▓рд┐рдП рдЕрдкрдиреА рдХрдХреНрд╖рд╛рдПрдВ рддреИрдпрд╛рд░ рдХрд░реЗрдВ
  5. рдЕрдкрдиреЗ рдЖрдзрд╛рд░ рд░реЗрдЦрд╛ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ
  6. рдЖрддреНрдореАрдпрддрд╛ рд╕рд╣рдпреЛрдЧ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

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


All Articles