microconfig.io๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ตฌ์„ฑ์„ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌ

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ฐœ๋ฐœ ๋ฐ ํ›„์† ์šด์˜์˜ ์ฃผ์š” ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋Š” ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์˜ ์œ ๋Šฅํ•˜๊ณ  ์ •ํ™•ํ•œ ๊ตฌ์„ฑ์ž…๋‹ˆ๋‹ค. ์ œ ์ƒ๊ฐ์—๋Š” ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ด ์ž‘์—…์— ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. microconfig.io. ์ด๋ฅผ ํ†ตํ•ด ์ผ๋ถ€ ์ผ์ƒ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ์ž‘์—…์„ ๋งค์šฐ ์šฐ์•„ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๊ฐ€ ๋งŽ๊ณ  ๊ฐ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๊ฐ€ ์ž์ฒด ๊ตฌ์„ฑ ํŒŒ์ผ/ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ๊ฒฝ์šฐ ๊ทธ ์ค‘ ํ•˜๋‚˜์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ํ™•๋ฅ ์ด ๋†’์œผ๋ฉฐ ์ ์ ˆํ•œ ๊ธฐ์ˆ ๊ณผ ๋กœ๊น… ์‹œ์Šคํ…œ ์—†์ด๋Š” ์ด๋ฅผ ํฌ์ฐฉํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ž์ฒด์ ์œผ๋กœ ์„ค์ •ํ•˜๋Š” ์ฃผ์š” ์ž‘์—…์€ ์ค‘๋ณต๋œ ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜์—ฌ ์˜ค๋ฅ˜ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์–Œ. ์ด๋Š” ๋ชจ๋“  ์–ธ์–ด์˜ ๋ชจ๋“  ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค์— ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์–ด๋–ป๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋จผ์ € ํŽธ์˜๋ฅผ ์œ„ํ•ด microconfig.io ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•œ ํ›„ Idea IDE์—์„œ ๋นˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

microconfig.io๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ตฌ์„ฑ์„ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌ

ํ”Œ๋Ÿฌ๊ทธ์ธ ์‹คํ–‰ ๊ตฌ์„ฑ์„ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ„ ์Šคํฌ๋ฆฐ์ƒท๊ณผ ๊ฐ™์ด ๊ธฐ๋ณธ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ์„œ๋น„์Šค๋ฅผ order๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ์ƒˆ ํ”„๋กœ์ ํŠธ์—์„œ ๋น„์Šทํ•œ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค ๊ฒƒ์ž…๋‹ˆ๋‹ค.

microconfig.io๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ตฌ์„ฑ์„ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌ

์„œ๋น„์Šค ์ด๋ฆ„์ด ์žˆ๋Š” ํด๋”์— ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋†“์Šต๋‹ˆ๋‹ค. application.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

์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ์˜ ์ฃผ์š” ๋ฌธ์ œ์ ์€ ์„œ๋น„์Šค ์„ค์ •์— ๋งŽ์€ ์–‘์˜ ๋ณต์‚ฌ-๋ถ™์—ฌ๋„ฃ๊ธฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ด๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฐ ์–ด๋–ป๊ฒŒ ๋„์›€์ด ๋˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋ถ„๋ช…ํ•œ ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค - ๊ตฌ์„ฑ์˜ ์กด์žฌ ์œ ๋ ˆ์นด ๊ฐ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์„ค๋ช…์— ์„ค์ • ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์—ฌ๊ธฐ์— ์ƒˆ ๊ตฌ์„ฑ์„ ์ถ”๊ฐ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

microconfig.io๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ตฌ์„ฑ์„ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌ

์ด์ œ ๊ฐ ํ”„๋กœ์ ํŠธ์— ๋ผ์ธ์„ ์ถ”๊ฐ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. #์œ ๋ ˆ์นด ํฌํ•จ.

ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ž๋™์œผ๋กœ ์œ ๋ ˆ์นด ๊ตฌ์„ฑ์„ ์ฐพ์•„์„œ ์„œ๋น„์Šค ๊ตฌ์„ฑ ํŒŒ์ผ์— ๋ณต์‚ฌํ•˜์ง€๋งŒ, ํ™˜๊ฒฝ ํŒŒ์ผ์— ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ณ„๋„์˜ ์œ ๋ ˆ์นด ๊ตฌ์„ฑ์ด ์ƒ์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. dev.yaml. ์„œ๋น„์Šค ์ฃผ๋ฌธ:

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

๊ฐ€์ ธ์˜ค๊ธฐ ๋ผ์ธ์„ ๋‹ค์Œ์œผ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ •์„ ๋ณ„๋„์˜ ๊ตฌ์„ฑ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. #include ์œ ๋ ˆ์นด, ์˜ค๋ผํด.

๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋‹ค์‹œ ์ƒ์„ฑํ•  ๋•Œ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๊ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ์ด๋ฅผ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ํŒŒ์ผ ์˜†์˜ ํŠน์ˆ˜ ํŒŒ์ผ์— ๋ฐฐ์น˜ํ•œ๋‹ค๋Š” ์ ์€ ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ ํ•ญ๋ชฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. โ€œStored 1 ์†์„ฑ์ด ๋‹ค์Œ์œผ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ์ฃผ๋ฌธ/diff-application.yaml" ์ด๋ฅผ ํ†ตํ•ด ๋Œ€๊ทœ๋ชจ ๊ตฌ์„ฑ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‹ ์†ํ•˜๊ฒŒ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ์„ฑ์˜ ๊ณตํ†ต ๋ถ€๋ถ„์„ ์ œ๊ฑฐํ•˜๋ฉด ๋ถˆํ•„์š”ํ•œ ๋ณต์‚ฌ-๋ถ™์—ฌ๋„ฃ๊ธฐ๋ฅผ ๋งŽ์ด ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๊ตฌ์„ฑ์„ ์œ ์—ฐํ•˜๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค์˜ ๋์ ์€ ๊ณ ์œ ํ•˜๊ณ  ํ•˜๋“œ ์ฝ”๋”ฉ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์ด๋Š” ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ์ œ๊ฑฐํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ข‹์€ ํ•ด๊ฒฐ์ฑ…์€ ๋ชจ๋“  ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜๋‚˜์˜ ๊ตฌ์„ฑ์œผ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์ž๋ฆฌ ํ‘œ์‹œ์ž์— ๋Œ€ํ•œ ์ง€์›์ด ํ”„๋ ˆ์ž„์›Œํฌ์— ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ํŒŒ์ผ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ์œ ๋ ˆ์นด:

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

์ด์ œ ์ด ์ž๋ฆฌ ํ‘œ์‹œ์ž๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ์—”๋“œ ํฌ์ธํŠธ ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์†์—์„œ ์˜๋ฏธ๋ฅผ ์ฐพ๋Š”๋‹ค ์œ ๋ ˆ์นด์ž…, ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด๋ฅผ ๊ตฌ์„ฑ์œผ๋กœ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ™˜๊ฒฝ์ด ๋‹ค๋ฅด๋ฉด ์–ด๋–จ๊นŒ์š”? ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์œ„์น˜์— ์„ค์ • ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์—”๋“œ ํฌ์ธํŠธ ๋‹ค์Œ ์œ ํ˜• application.dev.yaml. ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํŒŒ์ผ ํ™•์žฅ์ž์— ๋”ฐ๋ผ ๋…๋ฆฝ์ ์œผ๋กœ ์ด ๊ตฌ์„ฑ์ด ์†ํ•˜๋Š” ํ™˜๊ฒฝ์„ ๊ฒฐ์ •ํ•˜๊ณ  ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

microconfig.io๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ตฌ์„ฑ์„ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌ

๊ฐœ๋ฐœ ํŒŒ์ผ ๋‚ด์šฉ:

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๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ตฌ์„ฑ์„ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌ

๊ธฐ๋ณธ ๊ตฌ์„ฑ์—์„œ๋Š” ์ž๋ฆฌ ํ‘œ์‹œ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•„์š”ํ•œ ๋กœ๊น… ์„ค์ • ํŒŒ์ผ์„ ๋ฐฐ์น˜ํ•  ์œ„์น˜๋ฅผ ํ”„๋ ˆ์ž„์›Œํฌ์— ์•Œ๋ ค์ค๋‹ˆ๋‹ค. @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

๋”ฐ๋ผ์„œ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ๋ฏธ์„ธ ์กฐ์ •ํ•˜๊ณ  ์œ ์—ฐํ•˜๊ฒŒ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ƒ๋‹นํžˆ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์„ค์ •์—์„œ ๋ณต์‚ฌ-๋ถ™์—ฌ๋„ฃ๊ธฐ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์„ค์ •์„ ํ†ตํ•ฉํ•˜์—ฌ ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ฐ€๋Šฅํ•œ ์˜ค๋ฅ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋™์‹œ์— ๊ตฌ์„ฑ์„ ์‰ฝ๊ฒŒ ๊ฒฐํ•ฉํ•˜๊ณ  ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ฃผ์š” ์ž‘์—…์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋ ˆ์ž„์›Œํฌ์— ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด ๊ณต์‹ ํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•˜์—ฌ ์ „์ฒด ๋‚ด์šฉ์„ ์•Œ์•„๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์„ ์  ์„œ๋ฅ˜ ๋น„์น˜, ๋˜๋Š” ์†Œ์Šค๋ฅผ ์ž์„ธํžˆ ์‚ดํŽด๋ณด์„ธ์š”. ์—ฌ๊ธฐ์—.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€