์™œ TIBCO EMS๋ฅผ Solace PubSub+๋กœ ๋Œ€์ฒดํ•ด์•ผ ํ•˜๋Š”๊ฐ€?

Solace PubSub+๋Š” ์ตœ์‹  ์•„ํ‚คํ…์ฒ˜ ๋ฐ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ๊ณผ ์œ ์—ฐ์„ฑ, ๊ทธ๋ฆฌ๊ณ  ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ ๊ด€๋ฆฌ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.

์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ์„ฑ๋Šฅ ๋ฐ ๊ฒฌ๊ณ ์„ฑ

  • ๋™์ผ ์‚ฌ์–‘์˜ ๊ธฐ๋ณธ ํ•˜๋“œ์›จ์–ด์—์„œ EMS๋ณด๋‹ค 5๋ฐฐ ํ–ฅ์ƒ๋œ ์„ฑ๋Šฅ
  • 4์ฝ”์–ด์—์„œ ์ง€์†์  ๋ฉ”์‹œ์ง€(persistent messages) 60K/์ดˆ ๋ฐ ๋น„์ง€์†์  ๋ฉ”์‹œ์ง€(non-persistent messages) 1M/์ดˆ
  • ๋†’์€ ๊ฐ€์šฉ์„ฑ ๋ฐ ์žฌ๋‚œ ๋ณต๊ตฌ ๊ธฐ๋Šฅ ๋‚ด์žฅ
  • ์—…๊ทธ๋ ˆ์ด๋“œ ์„œ๋น„์Šค
  • ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ œ์–ด๋˜๋Š” ์•ก์„ธ์Šค ๊ถŒํ•œ
Distributed Tracing

์†์‰ฌ์šด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

  • PubSub+์—๋Š” EXPLICIT ACK ๋“ฑ ๋‹ค์–‘ํ•œ TIBCO ๋…์  ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ JMS๊ฐ€ ๊ธฐ๋ณธ ์ง€์›๋˜๋ฏ€๋กœ ์•ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์‹œ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • Solace์˜ TIBCO EMS ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ”„๋กœ์„ธ์Šค ๋ฐ ์ „๋ฌธ์„ฑ(๊ตฌ์„ฑ ์„œ๋น„์Šค ํฌํ•จ)์œผ๋กœ ํšจ์œจ์ ์ด๊ณ  ์›ํ™œํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํด๋ผ์šฐ๋“œ ๋ฐ ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ์šฉ ์„ค๊ณ„

  • PubSub+ ์ด๋ฒคํŠธ ๋ธŒ๋กœ์ปค ๋Š” ์‚ฌ๋‚ด ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋Œ€๋ถ€๋ถ„์˜ ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ ๋ฐ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes) ํ™˜๊ฒฝ์—์„œ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์„œ๋กœ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์˜ ๋ธŒ๋กœ์ปค๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ์—ฐ๊ฒฐํ•˜์—ฌ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐ ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ ์ด๋ฒคํŠธ ๋ฉ”์‰ฌ(event mesh) ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฒŒ์‹œ์—์„œ๋ถ€ํ„ฐ ์ˆ˜์‹  ๋Œ€์ƒ์— ์ด๋ฅด๋Š” ๋ถ„์‚ฐ๋œ ๊ธฐ์—… ํ™˜๊ฒฝ ์ „์ฒด์—์„œ WAN ์ตœ์ ํ™” ๋ฐ ์—ฃ์ง€ ๋ณด์•ˆ์„ ํ†ตํ•ด ์ด๋ฒคํŠธ๋ฅผ ๋™์ ์œผ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์†์‰ฌ์šด ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌ

  • PubSub+ Mission Control ์—์„œ ์ œ๊ณตํ•˜๋Š” ์ค‘์•™ ์ง‘์ค‘์‹ ํด๋ผ์šฐ๋“œ ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ, ๊ฐ€์ƒ ๋น„๊ณต๊ฐœ ํด๋ผ์šฐ๋“œ ๋ฐ ์˜จํ”„๋ ˆ๋ฏธ์Šค ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes) ํ™˜๊ฒฝ์—์„œ ์ด๋ฒคํŠธ ๋ฉ”์‰ฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฐฐํฌํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํด๋ผ์šฐ๋“œ ๊ด€๋ฆฌํ˜• ์„ค์น˜ ๋ฐ ์„ค์ •, ์ง€์†์ ์ธ ๊ด€๋ฆฌ, ํ™•์žฅ ๋ฐ ๊ด€๋ฆฌ์ž ์„œ๋น„์Šค
  • ์ง์ ‘ ๊ด€๋ฆฌํ•˜๊ธธ ์›ํ•˜์‹ญ๋‹ˆ๊นŒ? ์—…๋ฌด๋ฅผ ์‰ฝ๊ฒŒ ํ•ด์ค„ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜คํผ๋ ˆ์ดํ„ฐ(Kubernetes Operator)๋ฅผ ์ด์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ’๋ถ€ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ†ตํ•ฉ

  • JMS, AMQP, HTTP/REST, MQTT, WebSocket ๋“ฑ์˜ ๊ฐœ๋ฐฉํ˜• ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ ๋ฐ API ๊ธฐ๋ณธ ์ง€์›
  • Java, Go, .C#/.Net, Python, C, Node.js, Javascript ๋“ฑ ๊ณ ๊ฐ์ด ํ•„์š”๋กœ ํ•˜๋Š” ๋ชจ๋“  ์–ธ์–ด๊ฐ€ ์ง€์›๋˜๋Š” ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค/ ์ŠคํŠธ๋ฆฌ๋ฐ ๊ธฐ์ˆ (Apache Kafka ๋“ฑ)/ํ†ตํ•ฉ ๊ธฐ์ˆ (Boomi Atmosphere and MuleSoft Anypoint Platform ๋“ฑ)์šฉ ์ปค๋„ฅํ„ฐ, ํŒŒ์ผ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๋ถ„์„ ์ •๋ณด ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ

์‹œ์žฅ์„ ์„ ๋„ํ•˜๋Š” EDA ๊ธฐ๋Šฅ

  • ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ†ต์‹  ๋ฐ ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆฌ๋ฐ
  • ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆฌ๋ฐ์„ ์„ค๊ณ„, ๋ถ„๋ฅ˜, ๊ด€๋ฆฌ, ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฒคํŠธ ํฌํ„ธ
  • ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์˜ ์ƒํƒœ์™€ ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฒคํŠธ ์ธ์‚ฌ์ดํŠธ ๋ฐ ๊ฐ€์‹œ์„ฑ, ๋ฉ”์‹œ์ง€/์ด๋ฒคํŠธ๊ฐ€ ์–ด๋””๋กœ ์ „๋‹ฌ๋˜๋Š”์ง€(ํ˜น์€ ์ „๋‹ฌ๋˜์ง€ ๋ชปํ•˜๋Š”์ง€) ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ถ„์‚ฐ ์ถ”์  ๊ธฐ๋Šฅ
  • โ€˜์†Œ๋น„์žโ€™ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ โ€˜๋ณต๊ตฌโ€™๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋ฆฌํ”Œ๋ ˆ์ด ๊ธฐ๋Šฅ