microconfig.io рдХреЛ рд╕рд╛рде рд╕рдЬрд┐рд▓реИ рд╕рдВрдЧ microservice рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдорд╛рдЗрдХреНрд░реЛ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕ рд░ рдкрдЫрд┐рдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдорд╛ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдХреЛ рд╕рдХреНрд╖рдо рд░ рд╕рд╣реА рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╣реЛред рдореЗрд░реЛ рд╡рд┐рдЪрд╛рд░рдорд╛, рдирдпрд╛рдБ рдлреНрд░реЗрдорд╡рд░реНрдХрд▓реЗ рдпрд╕рдорд╛ рдорджреНрджрдд рдЧрд░реНрди рд╕рдХреНрдЫ microconfig.ioред рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреЗрд╣реА рдирд┐рдпрдорд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдХрд╛рд░реНрдпрд╣рд░реВ рд░рд╛рдореНрд░рд░реА рд░рд╛рдореНрд░рд░реА рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

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

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

рддрд░ рдкрд╣рд┐рд▓реЗ, рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдХреЛ рд▓рд╛рдЧрд┐, Idea IDE рдорд╛ рдПрдЙрдЯрд╛ рдЦрд╛рд▓реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ, рдпрд╕рдорд╛ microconfig.io рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реЗрдкрдЫрд┐:

microconfig.io рдХреЛ рд╕рд╛рде рд╕рдЬрд┐рд▓реИ рд╕рдВрдЧ microservice рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рд╣рд╛рдореАрд▓реЗ рдкреНрд▓рдЧрдЗрди рд▓рдиреНрдЪ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕реЗрдЯ рдЕрдк рдЧрд░реНрдпреМрдВ, рддрдкрд╛рдИрдВрд▓реЗ рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯрдорд╛ рдЬрд╕реНрддреИ, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд╣рд╛рдореНрд░реЛ рд╕реЗрд╡рд╛рд▓рд╛рдИ рдЕрд░реНрдбрд░ рднрдирд┐рдиреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдирдпрд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрд╣рд╛рдореА рд╕рдорд╛рди рд╕рдВрд░рдЪрдирд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗрдЫреМрдВ:

microconfig.io рдХреЛ рд╕рд╛рде рд╕рдЬрд┐рд▓реИ рд╕рдВрдЧ microservice рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рд╕реЗрд╡рд╛ рдирд╛рдордХреЛ рд╕рд╛рде рдлреЛрд▓реНрдбрд░рдорд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реН - application.yamlред рд╕рдмреИ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛рд╣рд░реВ рдХреБрдиреИ рди рдХреБрдиреИ рдкреНрд░рдХрд╛рд░рдХреЛ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рд╕реБрд░реВ рд╣реБрдиреНрдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ, рд╕реЗрд╡рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрдХреЛ рд╕рд╛рдереИ, рд╡рд╛рддрд╛рд╡рд░рдг рдЖрдлреИрдВрд▓рд╛рдИ рд╡рд░реНрдгрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ: рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореА рдлреЛрд▓реНрдбрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗрдЫреМрдВред envs рд░ рдпрд╕рдорд╛ рд╣рд╛рдореНрд░реЛ рдХрд╛рд░реНрдп рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рдирд╛рдордХреЛ рд╕рд╛рде рдлрд╛рдЗрд▓ рдердкреНрдиреБрд╣реЛрд╕реНред рдпрд╕рд░реА, рдлреНрд░реЗрдорд╡рд░реНрдХрд▓реЗ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗрдЫ dev, рдХрд┐рдирдХрд┐ рдпреЛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдкреНрд▓рдЧрдЗрди рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдорд╛ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдлрд╛рдЗрд▓ рд╕рдВрд░рдЪрдирд╛ dev.yaml рдпреЛ рдПрдХрджрдо рд╕рд░рд▓ рд╣реБрдиреЗрдЫ:

mainorder:
    components:
         - order

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

рд╕реЗрд╡рд╛ рд╕реЗрдЯрд┐рдЩ рдлрд╛рдЗрд▓рдорд╛ рдиреИ рдЕрд░реНрдбрд░ рдЕрд╣рд┐рд▓реЗрдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдорд╛рддреНрд░ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реМрдВ:

spring.application.name: order

рдЕрдм рдкреНрд▓рдЧрдЗрди рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реН, рд░ рдпрд╕рд▓реЗ рдЧреБрдгрд╣рд░реВрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рд░реНрдЧ рдЕрдиреБрд╕рд╛рд░ рд╣рд╛рдореНрд░реЛ рд╕реЗрд╡рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдЙрддреНрдкрдиреНрди рдЧрд░реНрдиреЗрдЫ:

microconfig.io рдХреЛ рд╕рд╛рде рд╕рдЬрд┐рд▓реИ рд╕рдВрдЧ microservice рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдЧрд░реНрди рд╕рдХреНрдЫрдиреН рд╕рд╛рде рдкрд╛рдЙрдиреБрд╣реЛрд╕реН рд░ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрдирд╛ рдирдЧрд░реА, рдХреЗрд╡рд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд┐рддрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реЗрд░ рд░ рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрдирдмрд╛рдЯ рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реНред
рдпреЛ рд╕рдорд╛рдзрд╛рди рдирд┐рд░реНрдорд╛рдг рд╕рд░реНрднрд░рдорд╛ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫред

рдпреЛ рдзреНрдпрд╛рди рджрд┐рди рд▓рд╛рдпрдХ рдЫ рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдмреБрдЭреНрджрдЫ рд╕рдореНрдкрддреНрддрд┐ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕, рддреНрдпреЛ рд╣реЛ, рд╕рд╛рдзрд╛рд░рдг рд╕рдореНрдкрддреНрддрд┐ рдлрд╛рдЗрд▓рд╣рд░реВ рдЬреБрди рд╕рдБрдЧреИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдпрд╛рдо рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВред

рдЕрд░реНрдХреЛ рд╕реЗрд╡рд╛ рдердкреМрдВ рднреБрдХреНрддрд╛рдиреА рд░ рдЕрд╡рд╕реНрдерд┐рдд рдПрдХ рдЬрдЯрд┐рд▓ред
╨Т рдЕрд░реНрдбрд░:

eureka:
 instance.preferIpAddress: true
 client:
   serviceUrl:
     defaultZone: http://192.89.89.111:6782/eureka/
server.port: 9999
spring.application.name: order
db.url: 192.168.0.100

╨Т рднреБрдХреНрддрд╛рдиреА:

eureka:
 instance.preferIpAddress: true
 client:
   serviceUrl:
     defaultZone: http://192.89.89.111:6782/eureka/
server.port: 9998
spring.application.name: payments
db.url: 192.168.0.100

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

microconfig.io рдХреЛ рд╕рд╛рде рд╕рдЬрд┐рд▓реИ рд╕рдВрдЧ microservice рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рд░ рдЕрдм рд╣рд╛рдореНрд░реЛ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрд▓рд╛рдЗрди рдердкреМрдВ #рдпреБрд░реЗрдХрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреБрд╣реЛрд╕реН.

рдлреНрд░реЗрдорд╡рд░реНрдХрд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдпреБрд░реЗрдХрд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреЗрдЫ рд░ рдпрд╕рд▓рд╛рдИ рд╕реЗрд╡рд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреЗрдЫ, рдЬрдмрдХрд┐ рдЫреБрдЯреНрдЯреИ рдпреБрд░реЗрдХрд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рд╣реБрдиреЗрдЫреИрди, рдХрд┐рдирдХрд┐ рд╣рд╛рдореАрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╡рд╛рддрд╛рд╡рд░рдг рдлрд╛рдЗрд▓рдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреЗ рдЫреИрдиреМрдВред dev.yamlред рд╕реЗрд╡рд╛ рдЕрд░реНрдбрд░:

#include eureka
server.port: 9999
spring.application.name: order
db.url: 192.168.0.100

рд╣рд╛рдореА рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕реЗрдЯрд┐рдЩрд╣рд░реВрд▓рд╛рдИ рдЖрдпрд╛рдд рд▓рд╛рдЗрдирдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реЗрд░ рдЫреБрдЯреНрдЯреИ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рд╕рд╛рд░реНрди рд╕рдХреНрдЫреМрдВ #рдпреБрд░реЗрдХрд╛, рдУрд░реЗрдХрд▓ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреБрд╣реЛрд╕реН.

рдпреЛ рдиреЛрдЯ рдЧрд░реНрди рд▓рд╛рдпрдХ рдЫ рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХрд▓реЗ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рд╣рд░реВ рдкреБрди: рдЙрддреНрдкрдиреНрди рдЧрд░реНрджрд╛ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрджрдЫ рд░ рдореБрдЦреНрдп рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдХреЛ рдЫреЗрдЙрдорд╛ рд╡рд┐рд╢реЗрд╖ рдлрд╛рдЗрд▓рдорд╛ рд░рд╛рдЦреНрдЫред рдпрд╕рдХреЛ рд▓рдЧрдорд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ: "рднрдгреНрдбрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рез рдЧреБрдгрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреНрдЫ order/diff-application.yaml" рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдареВрд▓рд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЫрд┐рдЯреЛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

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

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

 client:
   serviceUrl:
     defaultZone: http://${endpoints@eurekaip}:6782/eureka/

рдЕрдм рдпреЛ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░рд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рд╣реЗрд░реМрдВред рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдирд╛рдордХреЛ рдХрдореНрдкреЛрдиреЗрдиреНрдЯ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдЫ Endpoints рд░ рдпрд╕рдХреЛ рдЕрд░реНрде рдЦреЛрдЬреНрдЫ eurekaip, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдпрд╕рд▓рд╛рдИ рд╣рд╛рдореНрд░реЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрджрдЫред рддрд░ рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рд╣реЛ? рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рд╕реЗрдЯрд┐рдЩ рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН Endpoints рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ application.dev.yamlред рдлрд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдиреНрд╕рдирдХреЛ рдЖрдзрд╛рд░рдорд╛ рдврд╛рдБрдЪрд╛рд▓реЗ рд╕реНрд╡рддрдиреНрддреНрд░ рд░реВрдкрдорд╛, рдпреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдХреБрди рд╡рд╛рддрд╛рд╡рд░рдгрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫ рднрдиреНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдЫ рд░ рдпрд╕рд▓рд╛рдИ рд▓реЛрдб рдЧрд░реНрдЫ:

microconfig.io рдХреЛ рд╕рд╛рде рд╕рдЬрд┐рд▓реИ рд╕рдВрдЧ microservice рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рджреЗрд╡ рдлрд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА:

eurekaip: 192.89.89.111
dbip: 192.168.0.100

рд╣рд╛рдореА рд╣рд╛рдореНрд░рд╛ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рдкреЛрд░реНрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд╛рди рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ:

server.port: ${ports@order}.

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

рдлреНрд░реЗрдорд╡рд░реНрдХрд▓реЗ рдзреЗрд░реИ рд░реЗрдбрд┐рдореЗрдб рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░рд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ рдЕрд╡рд╕реНрдерд┐рдд рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдХреЛ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдпрд╕рд▓рд╛рдИ рдЕрд╕рд╛рдЗрди рдЧрд░реНрдиреБрд╣реЛрд╕реН:

#include eureka, oracle
server.port: ${ports@order}
spring.application.name: ${this@name}

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

client:
   serviceUrl:
     defaultZone: http://${endpoints@eurekaip}:6782/eureka/
 spring.application.name: ${this@name}

рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ рдЕрд░реНрдбрд░ рдПрдХ рд▓рд╛рдЗрдирдорд╛ рдШрдЯрд╛рдЗрдиреЗрдЫ:

#include eureka, oracle
server.port: ${ports@order}

рдпрджрд┐ рд╣рд╛рдореАрд▓рд╛рдИ рдЕрднрд┐рднрд╛рд╡рдХ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдмрд╛рдЯ рдХреБрдиреИ рд╕реЗрдЯрд┐рдЩ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджреИрди рднрдиреЗ, рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рд╣рд╛рдореНрд░реЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рд░ рдпреЛ рдкреБрд╕реНрддрд╛рдХреЛ рд╕рдордпрдорд╛ рд▓рд╛рдЧреВ рд╣реБрдиреЗрдЫред рддреНрдпреЛ рд╣реЛ, рдпрджрд┐ рдХреБрдиреИ рдХрд╛рд░рдгрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдЕрд░реНрдбрд░ рд╕реЗрд╡рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рдЪрд╛рд╣рд┐рдиреНрдЫ рднрдиреЗ, рд╣рд╛рдореА рдХреЗрд╡рд▓ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдЫреЛрдбреНрдиреЗрдЫреМрдВ spring.application.name.

рдорд╛рдиреМрдВ рдХрд┐ рддрдкрд╛рдИрдВрд▓реЗ рд╕реЗрд╡рд╛рдорд╛ рдЕрдиреБрдХреВрд▓рди рд▓рдЧрд┐рдЩ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдердкреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдЬреБрди рдЫреБрдЯреНрдЯреИ рдлрд╛рдЗрд▓рдорд╛ рднрдгреНрдбрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, logback.xMLред рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдХреЛ рдЫреБрдЯреНрдЯреИ рд╕рдореВрд╣ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ:

microconfig.io рдХреЛ рд╕рд╛рде рд╕рдЬрд┐рд▓реИ рд╕рдВрдЧ microservice рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдЖрдзрд╛рд░рднреВрдд рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛, рд╣рд╛рдореАрд▓реЗ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧрд┐рдЩ рд╕реЗрдЯрд┐рдЩ рдлрд╛рдЗрд▓ рдХрд╣рд╛рдБ рд░рд╛рдЦреНрдиреЗ рднрдиреЗрд░ рдлреНрд░реЗрдорд╡рд░реНрдХрд▓рд╛рдИ рдмрддрд╛рдЙрдиреЗрдЫреМрдБред @ConfigDir:

microconfig.template.logback.fromFile: ${logback@configDir}/logback.xml

рдлрд╛рдЗрд▓рдорд╛ logback.xML рд╣рд╛рдореА рдорд╛рдирдХ рдПрдкреЗрдиреНрдбрд░рд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдЫреМрдВ, рдЬрд╕рдорд╛ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░рд╣рд░реВ рдкрдирд┐ рд╕рдорд╛рд╡реЗрд╢ рд╣реБрди рд╕рдХреНрдЫрдиреН рдЬреБрди рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрдиреНрдлрд┐рдЧрд╣рд░реВ рдЙрддреНрдкрд╛рджрдирдХреЛ рдХреНрд░рдордорд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреЗрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐:

<file>logs/${this@name}.log</file>

рд╕реЗрд╡рд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рдЖрдпрд╛рдд рдердкреЗрд░ рд▓рдЧрдмреНрдпрд╛рдХ, рд╣рд╛рдореА рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рд▓рдЧрд┐рдЩ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫреМрдВ:

#include eureka, oracle, logback
server.port: ${ports@order}

рдпреЛ рдврд╛рдБрдЪрд╛рдХрд╛ рд╕рдмреИ рдЙрдкрд▓рдмреНрдз рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░рд╣рд░реВрд╕рдБрдЧ рдердк рд╡рд┐рд╡рд░рдгрдорд╛ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдиреЗ рд╕рдордп рд╣реЛ:

${this@env} - рд╣рд╛рд▓рдХреЛ рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рдирд╛рдо рдлрд░реНрдХрд╛рдЙрдБрдЫред
${тАж@name} - рдХрдореНрдкреЛрдиреЗрдиреНрдЯрдХреЛ рдирд╛рдо рдлрд░реНрдХрд╛рдЙрдБрдЫред
${тАж@configDir} - рдХрдореНрдкреЛрдиреЗрдиреНрдЯрдХреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдкреВрд░реНрдг рдкрде рдлрд░реНрдХрд╛рдЙрдБрдЫред
${тАж@resultDir} тАФ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрдХреЛ рдЧрдиреНрддрд╡реНрдп рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдкреВрд░реНрдг рдкрде рдлрд░реНрдХрд╛рдЙрдБрдЫ (рдкрд░рд┐рдгрд╛рдореА рдлрд╛рдЗрд▓рд╣рд░реВ рдпрд╕ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рд░рд╛рдЦрд┐рдиреЗрдЫ)ред
${this@configRoot} - рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕реНрдЯреЛрд░рдХреЛ рд░реВрдЯ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдкреВрд░реНрдг рдкрде рдлрд░реНрдХрд╛рдЙрдБрдЫред

рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░рд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ java рдХреЛ рдорд╛рд░реНрдЧ:
${env@JAVA_HOME}
рдпрд╛ рдд, рдврд╛рдБрдЪрд╛рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рд╣реБрдирд╛рд▓реЗ JAVA, рд╣рд╛рдореА рдХрд▓ рдЬрд╕реНрддреИ рдкреНрд░рдгрд╛рд▓реА рдЪрд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рдкреНрд░рдгрд╛рд▓реА::getProperty рдпрд╕реНрддреЛ рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░:
${[рдИрдореЗрд▓ рд╕реБрд░рдХреНрд╖рд┐рдд]}
рдпреЛ рд╡рд┐рд╕реНрддрд╛рд░ рднрд╛рд╖рд╛ рдХреЛ рд▓рд╛рдЧреА рд╕рдорд░реНрдерди рдЙрд▓реНрд▓реЗрдЦ рд▓рд╛рдпрдХ рдЫ рд╡рд╕рдиреНрдд ELред рдирд┐рдореНрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫрдиреН:

connection.timeoutInMs: #{5 * 60 * 1000}
datasource.maximum-pool-size: #{${[email protected]} + 10} 

рд░ рддрдкрд╛рдЗрдБ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рд╕реНрдерд╛рдиреАрдп рдЪрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ #var:

#var feedRoot: ${[email protected]}/feed
folder:
 root: ${this@feedRoot}
 success: ${this@feedRoot}/archive
 error: ${this@feedRoot}/error

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

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдпрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХрдорд╛ рд░реБрдЪрд┐ рд░рд╛рдЦреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдо рдпрд╕рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреГрд╖реНрда рднреНрд░рдордг рдЧрд░реНрди рд░ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдкрд░рд┐рдЪрд┐рдд рд╣реБрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫреБ рдХрд╛рдЧрдЬрд╛рдд, рд╡рд╛ рд╕реНрд░реЛрддрд╣рд░реВрдорд╛ рдЦрдиреНрдиреБрд╣реЛрд╕реН рдпрд╣рд╛рдБ.

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

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