ЛСсно ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ˜Ρ‚Π΅ со ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° микросСрвис со microconfig.io

Π•Π΄Π΅Π½ ΠΎΠ΄ Π³Π»Π°Π²Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π²ΠΎ Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ ΠΈ послСдоватСлното Ρ€Π°Π±ΠΎΡ‚Π΅ΡšΠ΅ Π½Π° микросСрвиситС Π΅ ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ‚Π½Π°Ρ‚Π° ΠΈ Ρ‚ΠΎΡ‡Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° Π½ΠΈΠ²Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ. Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠ΅Π½Π΅, Π½ΠΎΠ²Π° Ρ€Π°ΠΌΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π²ΠΎ ΠΎΠ²Π° microconfig.io. Π’ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° доста Π΅Π»Π΅Π³Π°Π½Ρ‚Π½ΠΎ Π΄Π° Ρ€Π΅ΡˆΠ°Π²Π°Ρ‚Π΅ Π½Π΅ΠΊΠΎΠΈ рутински Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Ако ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³Ρƒ микроуслуги, Π° сСкоја ΠΎΠ΄ Π½ΠΈΠ² Π΄ΠΎΠ°Ρ“Π° со своја конфигурациска Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°/Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚ΠΎΠ³Π°Ρˆ постои Π³ΠΎΠ»Π΅ΠΌΠ° Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎΡΡ‚ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Π³Ρ€Π΅ΡˆΠΊΠ° Π²ΠΎ Π΅Π΄Π½Π° ΠΎΠ΄ Π½ΠΈΠ², ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Ρ‚Π΅ΡˆΠΊΠΎ Π΄Π° сС Ρ„Π°Ρ‚ΠΈ Π±Π΅Π· соодвСтна Π²Π΅ΡˆΡ‚ΠΈΠ½Π° ΠΈ систСм Π·Π° Π»ΠΎΠ³ΠΈΡ€Π°ΡšΠ΅. Π“Π»Π°Π²Π½Π°Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° ΡˆΡ‚ΠΎ Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° ја поставува Π·Π° сСбС Π΅ Π΄Π° Π³ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° Π΄ΡƒΠΏΠ»ΠΈΠΊΠ°Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, со ΡˆΡ‚ΠΎ сС Π½Π°ΠΌΠ°Π»ΡƒΠ²Π° Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎΡΡ‚Π° Π·Π° додавањС Π³Ρ€Π΅ΡˆΠΊΠ°.

АјдС Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π”Π° Ρ€Π΅Ρ‡Π΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ°ΠΌΠ΅ Сдноставна Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со конфигурациска Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Ρ“Π°ΠΌΠ». Ова ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π±ΠΈΠ»ΠΎ кој микросСрвис Π½Π° кој Π±ΠΈΠ»ΠΎ јазик. АјдС Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ ΠΊΠ°ΠΊΠΎ Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΠ²Π°Π° услуга.

Но, ΠΏΡ€Π²ΠΎ, Π·Π° ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° погодност, ајдС Π΄Π° создадСмС ΠΏΡ€Π°Π·Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π²ΠΎ Idea IDE, ΠΎΡ‚ΠΊΠ°ΠΊΠΎ ќС Π³ΠΎ инсталирамС ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΠΊΠΎΡ‚ microconfig.io Π²ΠΎ Π½Π΅Π³ΠΎ:

ЛСсно ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ˜Ρ‚Π΅ со ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° микросСрвис со microconfig.io

Ја поставивмС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΠΊΠΎΡ‚; ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја користитС стандардната ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°, ΠΊΠ°ΠΊΠΎ Π½Π° сликата ΠΎΠ΄ Π΅ΠΊΡ€Π°Π½ΠΎΡ‚ ΠΏΠΎΠ³ΠΎΡ€Π΅.

ΠΠ°ΡˆΠ°Ρ‚Π° услуга сС Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π° Ρ€Π΅Π΄, Ρ‚ΠΎΠ³Π°Ρˆ Π²ΠΎ Π½ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ќС создадСмС слична структура:

ЛСсно ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ˜Ρ‚Π΅ со ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° микросСрвис со microconfig.io

Π‘Ρ‚Π°Π²Π΅Ρ‚Π΅ ја конфигурациската Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° со ΠΈΠΌΠ΅ Π½Π° услугата - Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°.yaml. Π‘ΠΈΡ‚Π΅ микросСрвиси сС лансирани Π²ΠΎ Π½Π΅ΠΊΠ°ΠΊΠ²Π° срСдина, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ, ΠΏΠΎΠΊΡ€Π°Ρ˜ ΡΠΎΠ·Π΄Π°Π²Π°ΡšΠ΅Ρ‚ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π·Π° самата услуга, Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΎ Π΅ Π΄Π° сС опишС ΠΈ самата ΠΎΠΊΠΎΠ»ΠΈΠ½Π°: Π·Π° ΠΎΠ²Π° ќС создадСмС ΠΏΠ°ΠΏΠΊΠ° Π·Π°Π²ΠΈΠ΄Π½ΠΎ ΠΈ Π΄ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π²ΠΎ Π½Π΅Π° со ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π½Π° срСдина. Π’Π°ΠΊΠ°, Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° ќС создадС конфигурациски Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π·Π° услугитС Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° dev, бидСјќи овој ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ Π΅ поставСн Π²ΠΎ поставкитС Π½Π° ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΠΊΠΎΡ‚.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° dev.yaml ќС Π±ΠΈΠ΄Π΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Сдноставно:

mainorder:
    components:
         - order

Π Π°ΠΌΠΊΠ°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ со ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΈ сС Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½ΠΈ Π·Π°Π΅Π΄Π½ΠΎ. Π—Π° Π½Π°ΡˆΠ°Ρ‚Π° услуга, ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΈΠΌΠ΅ Π·Π° Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° Π³Π»Π°Π²Π΅Π½ Ρ€Π΅Π΄. Π Π°ΠΌΠΊΠ°Ρ‚Π° ја Π½Π°ΠΎΡ“Π° сСкоја Ρ‚Π°ΠΊΠ²Π° Π³Ρ€ΡƒΠΏΠ° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° ΠΈ создава ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π·Π° ситС Π½ΠΈΠ², ΠΊΠΎΠΈ Π³ΠΈ Π½Π°ΠΎΡ“Π° Π²ΠΎ соодвСтнитС ΠΏΠ°ΠΏΠΊΠΈ.

Π’ΠΎ самата Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π·Π° поставки Π½Π° услугата Ρ†Π΅Π» АјдС Π΄Π° ΠΎΠ΄Ρ€Π΅Π΄ΠΈΠΌΠ΅ само Π΅Π΄Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ засСга:

spring.application.name: order

Π‘Π΅Π³Π° Π΄Π° Π³ΠΎ ΠΈΠ·Π²Ρ€ΡˆΠΈΠΌΠ΅ ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΠΊΠΎΡ‚ ΠΈ Ρ‚ΠΎΡ˜ ќС ја Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π°Ρ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π·Π° Π½Π°ΡˆΠ°Ρ‚Π° услуга спорСд ΠΏΠ°Ρ‚Π΅ΠΊΠ°Ρ‚Π° Π½Π°Π²Π΅Π΄Π΅Π½Π° Π²ΠΎ ΡΠ²ΠΎΡ˜ΡΡ‚Π²Π°Ρ‚Π°:

ЛСсно ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ˜Ρ‚Π΅ со ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° микросСрвис со microconfig.io

МоТС Π΄Π° сС слоТува ΠΈ Π±Π΅Π· Π΄Π° инсталиратС Π΄ΠΎΠ΄Π°Ρ‚ΠΎΠΊ, Сдноставно Π΄Π° ја ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° ΠΈ Π΄Π° ја ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија.
Ова Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° сСрвСр Π·Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°.

Π’Ρ€Π΅Π΄ΠΈ Π΄Π° сС Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ Π΄Π΅ΠΊΠ° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° ΡΠΎΠ²Ρ€ΡˆΠ΅Π½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π° сопствСност синтакса, односно ΠΎΠ±ΠΈΡ‡Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ со ΡΠ²ΠΎΡ˜ΡΡ‚Π²Π° ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС користат Π·Π°Π΅Π΄Π½ΠΎ Π²ΠΎ Ρ“Π°ΠΌΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

АјдС Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ Π΄Ρ€ΡƒΠ³Π° услуга плаќањС Π° постоСчката ја ΠΊΠΎΠΌΠΏΠ»ΠΈΡ†ΠΈΡ€Π°Π°Ρ‚.
Π’ Ρ†Π΅Π»:

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

Π“Π»Π°Π²Π½ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ со ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π΅ присуството Π½Π° Π³ΠΎΠ»Π΅ΠΌΠ° ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π° Π½Π° copy-paste Π²ΠΎ поставкитС Π½Π° услугата. АјдС Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ ΠΊΠ°ΠΊΠΎ Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° ќС ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° сС ослободимС ΠΎΠ΄ Π½Π΅Π°. Π”Π° ΠΏΠΎΡ‡Π½Π΅ΠΌΠ΅ со Π½Π°Ρ˜ΠΎΡ‡ΠΈΠ³Π»Π΅Π΄Π½ΠΎΡ‚ΠΎ - присуството Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π΅ΡƒΡ€Π΅ΠΊΠ° Π²ΠΎ описот Π½Π° сСкоја микросСрвис. АјдС Π΄Π° создадСмС Π½ΠΎΠ² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ со Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π·Π° поставки ΠΈ Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ Π½ΠΎΠ²Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° Π½Π΅Π³ΠΎ:

ЛСсно ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ˜Ρ‚Π΅ со ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° микросСрвис со microconfig.io

И сСга Π΄Π° ја Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ Π»ΠΈΠ½ΠΈΡ˜Π°Ρ‚Π° Π½Π° сСкој наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ #Π²ΠΊΠ»ΡƒΡ‡ΠΈ Π΅ΡƒΡ€Π΅ΠΊΠ°.

Π Π°ΠΌΠΊΠ°Ρ‚Π° автоматски ќС ја ΠΏΡ€ΠΎΠ½Π°Ρ˜Π΄Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π΅ΡƒΡ€Π΅ΠΊΠ° ΠΈ ќС ја ΠΊΠΎΠΏΠΈΡ€Π° Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° услугата, Π΄ΠΎΠ΄Π΅ΠΊΠ° посСбна ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° Π΅ΡƒΡ€Π΅ΠΊΠ° Π½Π΅ΠΌΠ° Π΄Π° сС создадС, бидСјќи Π½Π΅ΠΌΠ° Π΄Π° ја Π½Π°Π²Π΅Π΄Π΅ΠΌΠ΅ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° dev.yaml. БСрвис Ρ†Π΅Π»:

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

НиС исто Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΈ прСмСстимС поставкитС Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ посСбна ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° со ΠΌΠ΅Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π»ΠΈΠ½ΠΈΡ˜Π°Ρ‚Π° Π·Π° ΡƒΠ²ΠΎΠ· Π²ΠΎ #Π²ΠΊΠ»ΡƒΡ‡ΠΈ Π΅ΡƒΡ€Π΅ΠΊΠ°, ΠΏΡ€ΠΎΡ€ΠΎΡˆΡ‚Π²ΠΎ.

Π’Ρ€Π΅Π΄ΠΈ Π΄Π° сС Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ Π΄Π΅ΠΊΠ° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° ја слСди сСкоја ΠΏΡ€ΠΎΠΌΠ΅Π½Π° ΠΏΡ€ΠΈ Ρ€Π΅Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° конфигурацискитС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ја става Π²ΠΎ посСбна Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° вСднаш Π΄ΠΎ Π³Π»Π°Π²Π½Π°Ρ‚Π° конфигурациска Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°. Π’Π»Π΅Π·ΠΎΡ‚ Π²ΠΎ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ Π΄Π½Π΅Π²Π½ΠΈΠΊ ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°: β€žΠ—Π°Ρ‡ΡƒΠ²Π°Π½ΠΎ 1 ΡΠ²ΠΎΡ˜ΡΡ‚Π²ΠΎ сС ΠΌΠ΅Π½ΡƒΠ²Π° Π²ΠΎ order/diff-application.yaml" Ова Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π±Ρ€Π·ΠΎ Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ конфигурациски Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ.

ΠžΡ‚ΡΡ‚Ρ€Π°Π½ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈΡ‚Π΅ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° сС ослободитС ΠΎΠ΄ ΠΌΠ½ΠΎΠ³Ρƒ Π½Π΅ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ copy-paste, Π½ΠΎ Π½Π΅ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π° флСксибилно Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ срСдини - ΠΊΡ€Π°Ρ˜Π½ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ услуги сС СдинствСни ΠΈ Ρ‚Π²Ρ€Π΄ΠΎΠΊΠΎΠ΄ΠΈΡ€Π°Π½ΠΈ, ΠΎΠ²Π° Π΅ лошо. АјдС Π΄Π° сС ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° Π³ΠΎ отстранимС ΠΎΠ²Π°.

Π”ΠΎΠ±Ρ€ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±ΠΈ Π±ΠΈΠ»ΠΎ Π΄Π° сС Π·Π°Π΄Ρ€ΠΆΠ°Ρ‚ ситС ΠΊΡ€Π°Ρ˜Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ Π²ΠΎ Π΅Π΄Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° која Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π°Π°Ρ‚. Π—Π° Ρ‚Π°Π° Ρ†Π΅Π», Π²ΠΎ Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π΅ Π²ΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° носитСли Π½Π° мСста. Π’Π°ΠΊΠ° ќС сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ конфигурациската Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π΅ΡƒΡ€Π΅ΠΊΠ°:

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

Π‘Π΅Π³Π° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ ΠΊΠ°ΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΎΠ²Π° мСсто. БистСмот Π½Π°ΠΎΡ“Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° со ΠΈΠΌΠ΅ ΠΊΡ€Π°Ρ˜Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ Π±Π°Ρ€Π° Π·Π½Π°Ρ‡Π΅ΡšΠ΅ Π²ΠΎ Π½Π΅Π³ΠΎ Π΅ΡƒΡ€Π΅ΠΊΠ°ΠΈΠΏ, Π° ΠΏΠΎΡ‚ΠΎΠ° Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΡƒΠ²Π° Π²ΠΎ Π½Π°ΡˆΠ°Ρ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°. Но, ΡˆΡ‚ΠΎ Π΅ со Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ срСдини? Π—Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΎΠ²Π°, ΠΊΡ€Π΅ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° со поставки Π²ΠΎ ΠΊΡ€Π°Ρ˜Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ слСдниот Ρ‚ΠΈΠΏ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°.dev.yaml. Π Π°ΠΌΠΊΠ°Ρ‚Π° нСзависно, Π²Ρ€Π· основа Π½Π° наставката Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, ΠΎΠ΄Π»ΡƒΡ‡ΡƒΠ²Π° Π½Π° која срСдина ΠΏΡ€ΠΈΠΏΠ°Ρ“Π° ΠΎΠ²Π°Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΈ ја Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°:

ЛСсно ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ˜Ρ‚Π΅ со ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° микросСрвис со microconfig.io

Π‘ΠΎΠ΄Ρ€ΠΆΠΈΠ½Π° Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Dev:

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}

Ако Π½Π΅ Π½ΠΈ Ρ‚Ρ€Π΅Π±Π° поставка ΠΎΠ΄ ΠΌΠ°Ρ‚ΠΈΡ‡Π½Π°Ρ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ја Π½Π°Π²Π΅Π΄Π΅ΠΌΠ΅ Π²ΠΎ Π½Π°ΡˆΠ°Ρ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΈ Ρ‚Π°Π° ќС сС ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈ Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ. Односно, Π°ΠΊΠΎ ΠΏΠΎΡ€Π°Π΄ΠΈ нСкоја ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π½ΠΈ Ρ‚Ρ€Π΅Π±Π° СдинствСно ΠΈΠΌΠ΅ Π·Π° услугата Π·Π° Π½Π°Ρ€Π°Ρ‡ΠΊΠ°, само ќС Π³ΠΎ оставимС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ΠΎΡ‚ ΠΏΡ€ΠΎΠ»Π΅Ρ‚.ΠΏΡ€ΠΈΠΌΠ΅Π½Π°.ΠΈΠΌΠ΅.

Π”Π° Ρ€Π΅Ρ‡Π΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ сопствСни поставки Π·Π° Π΅Π²ΠΈΠ΄Π΅Π½Ρ†ΠΈΡ˜Π° Π½Π° услугата, ΠΊΠΎΠΈ сС Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ Π²ΠΎ посСбна Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ€Π°ΡœΠ°ΡšΠ΅ Π½Π°Π·Π°Π΄.xml. АјдС Π΄Π° создадСмС посСбна Π³Ρ€ΡƒΠΏΠ° Π½Π° поставки Π·Π° Ρ‚ΠΎΠ°:

ЛСсно ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ˜Ρ‚Π΅ со ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° микросСрвис со microconfig.io

Π’ΠΎ основната ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°, ќС ѝ ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ Π½Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° ΠΊΠ°Π΄Π΅ Π΄Π° ја поставимС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° со поставки Π·Π° Π΅Π²ΠΈΠ΄Π΅Π½Ρ†ΠΈΡ˜Π° ΡˆΡ‚ΠΎ Π½ΠΈ Ρ‚Ρ€Π΅Π±Π° со помош Π½Π° Π΄Ρ€ΠΆΠ°Ρ‡ Π·Π° мСсто @ConfigDir:

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

Π’ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π²Ρ€Π°ΡœΠ°ΡšΠ΅ Π½Π°Π·Π°Π΄.xml Π½ΠΈΠ΅ Π³ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ стандарднитС Π΄ΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, ΠΊΠΎΠΈ Π·Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ исто Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° содрТат поставки ΠΊΠΎΠΈ Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° ќС Π³ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

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

Π‘ΠΎ додавањС Π½Π° ΡƒΠ²ΠΎΠ· Π²ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° услугата најава, Π½ΠΈΠ΅ автоматски Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π° Π΅Π²ΠΈΠ΄Π΅Π½Ρ†ΠΈΡ˜Π° Π·Π° сСкоја услуга:

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

Π’Ρ€Π΅ΠΌΠ΅ Π΅ ΠΏΠΎΠ΄Π΅Ρ‚Π°Π»Π½ΠΎ Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ со ситС располоТливи поставки Π½Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π°:

${this@env} - Π³ΠΎ Π²Ρ€Π°ΡœΠ° ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½Π°Ρ‚Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°.
${…@name} β€” Π³ΠΎ Π²Ρ€Π°ΡœΠ° ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ‚Π°.
${…@configDir} β€” ја Π²Ρ€Π°ΡœΠ° цСлосната ΠΏΠ°Ρ‚Π΅ΠΊΠ° Π΄ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ‚Π°.
${…@resultDir} β€” ја Π²Ρ€Π°ΡœΠ° цСлосната ΠΏΠ°Ρ‚Π΅ΠΊΠ° Π΄ΠΎ ΠΎΠ΄Ρ€Π΅Π΄ΠΈΡˆΠ½ΠΈΠΎΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ‚Π° (Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈΡ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ќС Π±ΠΈΠ΄Π°Ρ‚ ставСни Π²ΠΎ овој Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ).
${this@configRoot} β€” ја Π²Ρ€Π°ΡœΠ° цСлосната ΠΏΠ°Ρ‚Π΅ΠΊΠ° Π΄ΠΎ root Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΄Π°Π²Π½ΠΈΡ†Π°Ρ‚Π° Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

БистСмот исто Ρ‚Π°ΠΊΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π°, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ°Ρ‚Π΅ΠΊΠ°Ρ‚Π° Π΄ΠΎ Java:
${env@JAVA_HOME}
Π‘ΠΈΠ»ΠΎ, бидСјќи Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π΅ напишана Π²ΠΎ Јава, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ систСмски ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ слични Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠΎΡ‚ БистСм::getProperty ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ структура ΠΊΠ°ΠΊΠΎ ΠΎΠ²Π°Π°:
${[Π·Π°ΡˆΡ‚ΠΈΡ‚Π΅Π½Π° ΠΏΠΎ Π΅-ΠΏΠΎΡˆΡ‚Π°]}
Π’Ρ€Π΅Π΄ΠΈ Π΄Π° сС спомСнС ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π° Π·Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π·Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒΠ²Π°ΡšΠ΅ ΠŸΡ€ΠΎΠ»Π΅Ρ‚Π½Π° Π•Π›. Π‘Π»Π΅Π΄Π½ΠΈΠ²Π΅ ΠΈΠ·Ρ€Π°Π·ΠΈ сС ΠΏΡ€ΠΈΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π²ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°:

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

Π’Π°ΠΊΠ°, Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ моќна Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° Ρ„ΠΈΠ½ΠΎ ΠΏΠΎΠ΄Π΅ΡΡƒΠ²Π°ΡšΠ΅ ΠΈ флСксибилна ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° микросСрвиситС. Π Π°ΠΌΠΊΠ°Ρ‚Π° ΡΠΎΠ²Ρ€ΡˆΠ΅Π½ΠΎ ја исполнува ΡΠ²ΠΎΡ˜Π°Ρ‚Π° Π³Π»Π°Π²Π½Π° Π·Π°Π΄Π°Ρ‡Π° - Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°ΡšΠ΅ Π½Π° copy-paste Π²ΠΎ поставкитС, ΠΊΠΎΠ½ΡΠΎΠ»ΠΈΠ΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° поставкитС ΠΈ, ΠΊΠ°ΠΊΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΌΠΎΠΆΠ½ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ, Π΄ΠΎΠ΄Π΅ΠΊΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° лСсно Π΄Π° Π³ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΈ Π΄Π° Π³ΠΈ ΠΌΠ΅Π½ΡƒΠ²Π°Ρ‚Π΅ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ срСдини.

Ако стС заинтСрСсирани Π·Π° ΠΎΠ²Π°Π° Ρ€Π°ΠΌΠΊΠ°, ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡ΡƒΠ²Π°ΠΌ Π΄Π° ја посСтитС Π½Π΅Ρ˜Π·ΠΈΠ½Π°Ρ‚Π° ΠΎΡ„ΠΈΡ†ΠΈΡ˜Π°Π»Π½Π° страница ΠΈ Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ со цСлосната Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°, ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠ°Π°Ρ‚ Π²ΠΎ ΠΈΠ·Π²ΠΎΡ€ΠΈΡ‚Π΅ Ρ‚ΡƒΠΊΠ°.

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€