Skip to content

๐Ÿš€ [๊ธฐ๋Šฅ๊ฐœ์„ ][์ฑ„ํŒ…] ์ฑ„ํŒ… ๋ชจ๋“ˆ ์ „๋ฐ˜ ๋ฆฌํŒฉํ† ๋ง ๋ฐ ๊ตฌ์กฐ ๊ณ ๋„ํ™”ย #441

@Chuseok22

Description

@Chuseok22

๐Ÿ“ ํ˜„์žฌ ๋ฌธ์ œ์ 

๐Ÿ› ๏ธ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ / ์ œ์•ˆ ๊ธฐ๋Šฅ

  1. ์„ค์ • ๋ชจ๋“ˆ ๋ถ„๋ฆฌ ๋ฐ ์‘์ง‘๋„ ๊ฐ•ํ™”

์˜ˆ์‹œ

 - `RabbitMqConfig` โ†’  
   - ConnectionFactory, RabbitTemplate, Jackson2JsonMessageConverter, DeadLetter ์„ค์ • ๋“ฑ์„ ๋ณ„๋„์˜ `RabbitMqConnectionConfig`, `RabbitMqMessageConverterConfig`๋กœ ๋ถ„๋ฆฌ  
   - ExchangeยทQueueยทBinding์€ `ChatMessagingConfig`๋กœ ๋ชจ์•„์„œ ์ฑ„ํŒ… ์ „์šฉ ์„ค์ •๋งŒ ์ง‘์ค‘  
 - `WebSocketConfig` โ†’  
   - STOMP Relay ์„ค์ •, endpoint ๋“ฑ๋ก, interceptor ๋“ฑ๋ก์„ `StompBrokerConfig`, `StompEndpointConfig`๋กœ ์„ธ๋ถ„ํ™”   
  1. ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

    • RabbitMQ ์ƒ์ˆ˜(ํยท์ต์Šค์ฒด์ธ์ง€ยท๋ผ์ธ ํ‚ค ๋“ฑ)์€ enum ๋˜๋Š” @ConfigurationProperties ํด๋ž˜์Šค๋กœ ๊ด€๋ฆฌ
    • STOMP ํ”„๋ฆฌํ”ฝ์Šค(/pub, /user ๋“ฑ)๋Š” ๋ณ„๋„ ์ƒ์ˆ˜๋กœ ์ถ”์ถœ
  2. CORS & ๋ณด์•ˆ ๊ฐ•ํ™”

    • ์šด์˜ ๋„๋ฉ”์ธ๋งŒ ํ—ˆ์šฉํ•˜๋Š” CORS ์„ค์ •
    • WebSocket ์—ฐ๊ฒฐ ์ „ ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ(Handshake interceptor) ์ถ”๊ฐ€
    • ๋ฉ”์‹œ์ง€ ๊ถŒํ•œ ์ฒดํฌ ๋กœ์ง ๊ฐ•ํ™”
  3. ๋กœ๊น…ยท๋ชจ๋‹ˆํ„ฐ๋ง ์ถ”๊ฐ€

    • RabbitTemplate ๋ฐ STOMP ์†ก์ˆ˜์‹  ์‹œํ‚ด AOP ๋˜๋Š” Micrometer ๊ด€์ฐฐ์ž(Observer) ๋“ฑ๋ก
    • ์ฃผ์š” ์ด๋ฒคํŠธ(์—ฐ๊ฒฐ ์„ฑ๊ณต/์‹คํŒจ, ๋ฉ”์‹œ์ง€ ์†ก์ˆ˜์‹  ์ง€์—ฐ ๋“ฑ) ์ง€ํ‘œํ™”
  4. ์ถ”๊ฐ€ ๊ณ ๋„ํ™” ์ œ์•ˆ

    • ์•Œ๋ฆผ ๋กœ์ง๊ณผ์˜ ์—ฐ๊ฒฐ
  • ์ฑ„ํŒ… ๋„๋ฉ”์ธ์ด ๋งค์šฐ ๋ฐฉ๋Œ€ํ•ด์„œ ์šฐ์„  ์ง„ํ–‰ํ•ด๋ณด๊ณ  ์ด์Šˆ์— ์ •๋ฆฌํ•ด๋‘๊ฒ ์Šต๋‹ˆ๋‹ค

๐Ÿ™‹โ€โ™‚๏ธ ๋‹ด๋‹น์ž

  • ๋ฐฑ์—”๋“œ: @Chuseok22
  • ํ”„๋ก ํŠธ์—”๋“œ: ์ด๋ฆ„
  • ๋””์ž์ธ: ์ด๋ฆ„

Metadata

Metadata

Assignees

Labels

๋ณด๋ฅ˜์ถ”ํ›„ ์ž‘์—… ์ง„ํ–‰์˜ˆ์ •

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions