์ผ๋‹จ ํ•˜๊ณ  ๋ณด๋Š” ์‚ฌ๋žŒ

๋‚˜์ค‘๋ณด๋‹จ ์ง€๊ธˆ์— ์ง‘์ค‘ํ•˜๋˜, ์ง€๊ธˆ๋ณด๋‹จ ๋‚˜์ค‘์— ์™„๋ฒฝํ•ด์ง€์ž๐Ÿ’ช๐Ÿป

๐Ÿ—ž๏ธ IT ๋™ํ–ฅ ํŒŒ์•… ๋ฐ ๋‚˜์˜ ์ƒ๊ฐ ์ •๋ฆฌ

[legacy] JMS+SQS → ๋ ˆ๊ฑฐ์‹œ์— ๋Œ€ํ•œ ๋‚˜์˜ ์ƒ๊ฐ

JanginTech 2024. 8. 23. 17:10

1. Using SQS With JMS for Legacy Applications

https://dzone.com/articles/using-sqs-with-jms-for-legacy-applications

 

Using SQS With JMS for Legacy Applications - DZone

In this article, take an in-depth look at the steps to integrate a legacy Java application with SQS through JMS.

dzone.com

 

 

 

[ ์š”์•ฝ ]

Amazon SQS๋ฅผ Java Message Service(JMS)์™€ ํ†ตํ•ฉํ•˜์—ฌ ๋ ˆ๊ฑฐ์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ๋ฉ”์‹œ์ง• ์‹œ์Šคํ…œ์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•œ ์—…๋ฐ์ดํŠธ  ๋ฐฉ๋ฒ•์ด ์„ค๋ช…๋˜์–ด ์žˆ๋‹ค.

Java Message Service(JMS)๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์‹œ์Šคํ…œ์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”์‹œ์ง• ํ”„๋กœํ† ์ฝœ์ธ ๋ฐ˜๋ฉด,

SQS๋Š” AWS์˜ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ๋ฉ”์‹œ์ง• ํ๋‹ค.

SQS ํ˜ธํ™˜ Java Message Service(JMS) ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ ˆ๊ฑฐ์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ SQS ํ๋ฅผ ํ†ตํ•ด ์›ํ™œํ•œ ๋ฉ”์‹œ์ง€ ์†ก์ˆ˜์‹ ์ด ๊ฐ€๋Šฅํ•˜์—ฌ, ์ตœ์‹  ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„์™€ ๊ฐ™์€ ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ†ตํ•ด ์ด์ „ ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ์€ ์œ ์ง€ํ•˜๋ฉด์„œ ํด๋ผ์šฐ๋“œ๋กœ ์›ํ™œํ•œ ์ „ํ™˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์ฃผ์š” ์•„ํ‚คํ…์ณ ๋ณ€๊ฒฝ ์—†์ด ๋ ˆ๊ฑฐ์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํด๋ผ์šฐ๋“œ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ•œ๋‹ค๋Š” ์ ์ด ๊ฐ•์ ์ด๋‹ค.

 

 

โž•

Amazon SQS๋ฅผ JMS์™€ ํ†ตํ•ฉํ•˜์—ฌ ๋ ˆ๊ฑฐ์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—…๋ฐ์ดํŠธ ?

์œ„ ๋‚ด์šฉ๋งŒ ๋ณด๋ฉด ๋ง์ด ์–ด๋ ค์›Œ์„œ ์ดํ•ด๊ฐ€ ์ž˜ ์•ˆ ๊ฐ„๋‹ค.

๊ทธ๋ž˜์„œ ๋‹ค์‹œ ์•Œ์•„๋ดค๋‹ค.

๊ทธ์ „์—, ๋ ˆ๊ฑฐ์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

 

๋ ˆ๊ฑฐ์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜?

legacy: ์œ ์‚ฐ. ํ˜„์žฌ๊นŒ์ง€ ๋‚จ์•„ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๊ฑฐ๋‚˜ ํ˜„์žฌ์˜ ์ฒด๊ณ„์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ณผ๊ฑฐ์˜ ์ฒด๊ณ„.

  • legacy application: ์˜ค๋ž˜๋œ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ
  • ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋™์•ˆ ์‚ฌ์šฉ๋˜์—ˆ๊ณ , ๊ธฐ์กด์˜ ํ™˜๊ฒฝ๊ณผ ๊ธฐ์ˆ ์— ์˜์กดํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
  • ๋น„์ฆˆ๋‹ˆ์Šค์ ์œผ๋กœ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜์ง€๋งŒ ์œ ์ง€ ๊ด€๋ฆฌ ๋ฐ ํ™•์žฅ์ด ์–ด๋ ค์›€

 

์ฆ‰, ๋ ˆ๊ฑฐ์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ผ ๋ถˆ๋ฆฌ๋Š” JMS๋Š” ์˜ค๋ž˜๋์ง€๋งŒ ์ค‘์š”ํ•ด์„œ ์œ ์ง€ ๊ด€๋ฆฌ ๋ฐ ํ™•์žฅ์„ ํ•จ๋ถ€๋กœ ํ•˜๊ธฐ์—” ๋ฌด๋ฆฌ๊ฐ€ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

 

์ด์ œ ๋‚ด๊ฐ€ ์ค€๋น„ํ•œ ์˜ˆ์‹œ๋ฅผ ๋ณด์ž.

[์˜ˆ์‹œ]

ํšŒ์‚ฌ์—๋Š” ์—ฌ๋Ÿฌ ๋ถ€์„œ๊ฐ€ ์žˆ๋‹ค.
์—ฌ๋Ÿฌ ๋ถ€์„œ ๊ฐ„์— ์†Œํ†ต์€ ํšŒ์‚ฌ ์šด์˜์— ์žˆ์–ด ์ค‘์š”ํ•˜๋‹ค.
๊ณผ๊ฑฐ์—๋Š” ๋ถ€์„œ ๊ฐ„ ์†Œํ†ต์„ ์œ„ํ•ด '๋ฉ”๋ชจ'๋ฅผ ์ฃผ๊ณ ๋ฐ›์•˜๋‹ค. ์ด๊ฒƒ์ด Java Message Service(JMS)๋‹ค.
๋ฉ”๋ชจ๊ฐ€ ์•„๋‹ˆ๋ผ, ์˜ค๋ž˜๋œ ๋ฉ”์‹œ์ง• ์‹œ์Šคํ…œ=JMS๋ผ๊ณ  ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค!

๋ฐ˜๋ฉด, AWS SQS๋Š” ์ƒˆ๋กญ๊ณ  ๋น ๋ฅธ ์ตœ์‹  ๋ฉ”์‹œ์ง• ์‹œ์Šคํ…œ์ด๋‹ค.
๋ชจ๋“  ๊ฒƒ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋งŒ๋“œ๋Š” ๋Œ€์‹ , SQS ํ˜ธํ™˜ JMS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ฐ™์€ ํŠน์ˆ˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ๋ฉ”์ผ ์‹œ์Šคํ…œ์„ ์ƒˆ ํด๋ผ์šฐ๋“œ ์‹œ์Šคํ…œ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ธฐ์กด ํ•ต์‹ฌ ๋กœ์ง์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ ๋„ ์ตœ์‹  ํด๋ผ์šฐ๋“œ ๊ธฐ์ˆ ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

AWS SQS = ํด๋ผ์šฐ๋“œ์—์„œ ์ž‘๋™ํ•˜๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ๋น ๋ฅธ ๋ฉ”์‹œ์ง• ์„œ๋น„์Šค
JMS = ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋œ ์ „ํ†ต์ ์ธ ๋ฉ”์‹œ์ง• ํ”„๋กœํ† ์ฝœ


๋‘ ์‹œ์Šคํ…œ์„ ์—ฐ๊ฒฐํ•˜๋ฉด ๊ธฐ์กด ๋ ˆ๊ฑฐ์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด,

์ฒ˜์Œ๋ถ€ํ„ฐ ์†๋Œˆ ํ•„์š” ์—†์ด ํด๋ผ์šฐ๋“œ ๊ธฐ์ˆ ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค!

 

 

 


 

๐Ÿค” ์ด์— ๋Œ€ํ•œ ๋‚˜์˜ ์ƒ๊ฐ

์˜ค๋ž˜๋์ง€๋งŒ ํ•„์ˆ˜์ ์ธ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ƒˆ๋กœ์šด ๊ฒƒ๊ณผ ์ ‘๋ชฉ์‹œ์ผœ ์—…๋ฐ์ดํŠธํ•˜๋˜, ๊ธฐ์กด์˜ ๊ฒƒ์„ ์œ ์ง€ํ•˜๋Š” ํ–‰์œ„๋Š” ์–ด๋А ๋ถ„์•ผ์—๋‚˜ ๋‹ค ์กด์žฌํ•˜๋‚˜ ๋ณด๋‹ค.

๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ์€ ๋Š˜ ์—†์–ด์ ธ์•ผ ํ•  ๊ณจ์นซ๊ฑฐ๋ฆฌ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์ด๊ฒƒ๋งŒ์ด ๊ฐ€์ ธ๋‹ค์ฃผ๋Š” ํ•ต์‹ฌ ์žฅ์ ์„ ์ž˜ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ ๋˜ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ํ•„์š”ํ•œ ๋Šฅ๋ ฅ์ด๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค.

 

๋‚˜๋Š” ๊ทธ ์žฅ์ ์ด '์ง€์†์„ฑ'์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

๋ ˆ๊ฑฐ์‹œ๊ฐ€ ์™œ ๋ ˆ๊ฑฐ์‹œ์ธ๊ฐ€? ์›ƒ๊ธฐ์ง€๋งŒ ๋ ˆ๊ฑฐ์‹œ๋‹ˆ๊นŒ.

์˜ค๋ž˜๋๊ธฐ ๋•Œ๋ฌธ์— ๋ ˆ๊ฑฐ์‹œ์ธ ๊ฑฐ๋‹ค.

๊ทผ๋ฐ, "์˜ค๋ž˜๋œ ์‹œ์Šคํ…œ"์ด ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ทธ๋งŒํผ ์˜ค๋žœ ์‹œ๊ฐ„ ์‚ฌ์šฉ์ž๋“ค์ด ์‚ฌ์šฉํ•˜๊ณ 

hw/sw๊ฐ€ ๊ณ„์† ์ž‘๋™ํ•˜๊ณ , ๋„คํŠธ์›Œํฌ๊ฐ€ ์ง€์›๋˜์–ด ์™”์Œ์„ ์˜๋ฏธํ•œ๋‹ค.

 

์˜ค๋ž˜ ์œ ์ง€๋˜์–ด ์™”๋‹ค๋Š” ๊ฒƒ์€ ๊ทธ๋งŒํผ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด ์•„๋‹๊นŒ.

๊ทธ๋ฆฌ๊ณ  ๊ทธ๋งŒํผ ์Œ“์•„์ ธ ์˜จ ์‹ ๋ขฐ ๋˜ํ•œ ์ ˆ๋Œ€ ๋ฌด์‹œ ๋ชป ํ•œ๋‹ค.

 

์ด '์ง€์†์„ฑ'์„ ์œ ์ง€ํ•˜์—ฌ ์‹ ๊ธฐ์ˆ ์„ ๋ฐœ์ „ ๋ฐ ์—…๋ฐ์ดํŠธํ•˜๋Š” ํ–‰์œ„๋Š” ๋ฆฌ์Šคํฌ ๋ถ€๋ถ„์—์„œ ์ด๋กญ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

1๋ถ€ํ„ฐ 10๊นŒ์ง€ ํ•˜๋‚˜ํ•˜๋‚˜ ๋งŒ๋“œ๋Š” ๊ฒƒ๋ณด๋‹ค ๊ธฐ์กด์— ์žˆ๋˜ ๊ฑฐ์™€ ์œตํ•ฉํ•˜๋Š” ๊ฒƒ์ด ์‹คํŒจ ๊ฐ€๋Šฅ์„ฑ์„ ์ƒ๋‹นํžˆ ์ค„์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

(๋ฐ˜๋ฐ˜ ํ•ฉ์นœ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ์ด๋ฏธ ๋ฐ˜์€ ๊ฒ€์ฆ์ด ๋˜์–ด์žˆ์œผ๋‹ˆ๊นŒ!)

 

์˜ค๋Š˜ ๊ธฐ์‚ฌ

๋งค์šฐ ํฅ๋ฏธ๋กญ๊ณ  ์žฌ๋ฐŒ์—ˆ๋‹ค.