MQE ์์ธ ์ฌ์ ๊ฐ์ด๋ (๊ธฐ์ ์ฉ)
GIIP ๋ฉ์์ง ํ ์์ง(MQE)์ ํ๋กํ ์ฝ, ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐ ์ ๋ขฐ์ฑ ๋ณด์ฅ ๋ฉ์ปค๋์ฆ์ ๋ํ ๊ธฐ์ ์์ธ ์ฌ์์ ์๋ดํฉ๋๋ค.
๐ ๊ฐ์
**MQE(Message Queue Engine)**๋ GIIP ์ํ๊ณ์ ์ ๊ฒฝ๋ง ์ญํ ์ ํฉ๋๋ค. ๋ถ์ฐ๋ ์์ด์ ํธ๋ค๊ณผ ์ค์ ์๋ฒ ๊ฐ์ ๊ณ ์ฑ๋ฅ, ๊ณ ์ ๋ขฐ์ฑ ํต์ ์ ์ํด ์ค๊ณ๋์์ผ๋ฉฐ, ๋คํธ์ํฌ ๋ถ์์ ์ํฉ์์๋ ๋ฐ์ดํฐ ์ ์ค์ ์ต์ํํ๋ ๊ธฐ์ ์ ์ฅ์น๋ค์ ํฌํจํ๊ณ ์์ต๋๋ค.
๐ ๏ธ ๊ธฐ์ ๊ท๊ฒฉ
1. ํต์ ํ๋กํ ์ฝ ๋ฐ ํฌํธ
- Primary Protocol: AMQP 0-9-1 (RabbitMQ ๊ธฐ๋ฐ) ๋๋ AMQP 1.0 (Azure Service Bus ๊ธฐ๋ฐ)
- Port: 5671 (TLS ์ํธํ ํต์ ํ์)
- Fallback: ์น์์ผ(WebSocket) ๊ธฐ๋ฐ์ HTTPS(443) ํต์ ์ ์ง์ํ์ฌ ๋ฐฉํ๋ฒฝ ํ๊ฒฝ์ ๋์ํฉ๋๋ค.
2. ๋ฉ์์ง ํ์ด๋ก๋ ๊ตฌ์กฐ (JSON)
๋ชจ๋ ๋ฉ์์ง๋ ์๋์ ๊ณตํต ํค๋๋ฅผ ํฌํจํฉ๋๋ค.
{
"header": {
"msgId": "UUID",
"timestamp": "ISO8601",
"originNode": "AgentID",
"priority": "0-9"
},
"payload": {
"type": "METRIC | ISSUE | COMMAND",
"data": { ... }
}
}
3. ์ ๋ขฐ์ฑ ๋ฐ ๋ณด์
- At-Least-Once Delivery: ์๋น์๊ฐ ๋ฉ์์ง ์ฒ๋ฆฌ๋ฅผ ์๋ฃํ๊ณ
ACK๋ฅผ ๋ณด๋ด๊ธฐ ์ ๊น์ง๋ ํ์์ ๋ฉ์์ง๋ฅผ ์ญ์ ํ์ง ์์ต๋๋ค. - End-to-End Encryption: ํ์ด๋ก๋ ๋ฐ์ดํฐ ์์ญ์ ๋ฐ์ ์์ ์์ AES-256์ผ๋ก ์ํธํ๋์ด ์ ์ก๋ ์ ์์ต๋๋ค.
- Circuit Breaker: ํน์ ๋ ธ๋์์ ์ด๊ณผ ํธ๋ํฝ ๋ฐ์ ์ ์๋์ผ๋ก ์ธ์ ์ ์ฐจ๋จํ์ฌ ์ ์ฒด ์์คํ ์ ๋ณดํธํฉ๋๋ค.
โ๏ธ ๊ฐ๋ฐ์ ์ฐธ๊ณ ์ฌํญ
- ์์ด์ ํธ ๊ตฌํ: ์ ๊ท ์์ด์ ํธ๋ฅผ ๊ฐ๋ฐํ ๊ฒฝ์ฐ, ๋ฐ๋์ MQE SDK๋ฅผ ํ์ฉํ์ฌ ํํธ๋นํธ(Heartbeat) ๋ฐ ์ฌ์ฐ๊ฒฐ(Reconnection) ๋ก์ง์ ๊ตฌํํด์ผ ํฉ๋๋ค.
- ์ฒ๋ฆฌ ์ง์ฐ ๋์: ์ปจ์๋จธ(Consumer) ๋จ์ ์ฒ๋ฆฌ ์๋๊ฐ ๋๋ ค์ง๋ฉด
Queue Depth๊ฐ ์ฆ๊ฐํ๋ฏ๋ก, ์ค์ผ์ผ ์์(Scale-out)์ ํตํด ํจ์จ์ ๋์ด์ธ์.
๋ฌธ์ ํด๊ฒฐ
| ์ฆ์ | ์์ธ | ํด๊ฒฐ |
|---|---|---|
| 5671 ํฌํธ๋ก MQE ์ฐ๊ฒฐ์ด ์คํจํ๋ค | ๋ฐฉํ๋ฒฝ์ด AMQP(5671) ํฌํธ๋ฅผ ์ฐจ๋จํจ | WebSocket ๊ธฐ๋ฐ HTTPS(443) Fallback ํต์ ์ผ๋ก ์ ํํ๋ค |
| ๋์ผํ ๋ฉ์์ง๊ฐ ์ค๋ณต ์ฒ๋ฆฌ๋๋ค | At-Least-Once ์ ๋ฌ ํน์ฑ์ ACK ์ด์ ์ ์ฌ์ ์ก๋จ | ์ปจ์๋จธ์์ msgId๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฉฑ๋ฑ์ฑ ์ฒ๋ฆฌ๋ฅผ ๊ตฌํํ๋ค |
Queue Depth๊ฐ ๊ณ์ ์ฆ๊ฐํ๋ค | ์ปจ์๋จธ์ ์ฒ๋ฆฌ ์๋๊ฐ ์ ์ ์๋๋ฅผ ๋ฐ๋ผ๊ฐ์ง ๋ชปํจ | ์ค์ผ์ผ ์์(Scale-out)์ผ๋ก ์ปจ์๋จธ๋ฅผ ์ฆ์คํ๋ค |
| ํน์ ๋ ธ๋์ ๋ฉ์์ง ์ธ์ ์ด ์ฐจ๋จ๋๋ค | ์ด๊ณผ ํธ๋ํฝ์ผ๋ก Circuit Breaker๊ฐ ์๋ํจ | ํธ๋ํฝ ์ ์ํ ํ Heartbeat/์ฌ์ฐ๊ฒฐ ๋ก์ง์ ํตํด ์ฌ์ ์ํ๋ค |
๋ฒ์ : 1.0
์ต์ข
์
๋ฐ์ดํธ: 2026-03-19
์์ค ํ์ผ: giipv3/public/help/mqe-spec.ko.md