cjw9506 / auction

1 stars 0 forks source link

feat: improve data flow #10

Open cjw9506 opened 5 months ago

cjw9506 commented 5 months ago

πŸš€ λͺ©μ  및 ν•„μš”μ„±

μ‹€μ‹œκ°„ κ²½λ§€μ—μ„œ κ°€μž₯ μ€‘μš”ν•œ κΈ°λŠ₯은 μ‹€μ‹œκ°„ μž…μ°° κΈ°λŠ₯μž…λ‹ˆλ‹€. 처음 μƒκ°ν•œλŒ€λ‘œ 흐름을 κ΅¬ν˜„ν•˜λŠ” κ³Όμ •μ—μ„œ 보닀 쒋은 ꡬ쑰가 μžˆμ–΄μ„œ issue λ‚¨κΉλ‹ˆλ‹€.

초기 데이터 흐름

  @MessageMapping("/chat/{roomId}")
  public void chat(@DestinationVariable String roomId,
                   MessageDTO message) {

      template.convertAndSend("/sub/" + message.getRoomId(), message);

      if (chatService.isHighestPrice(message)) {
          template.convertAndSend("/sub/" + message.getRoomId(), message);
      }

  }
  1. λ©”μ‹œμ§€ λ°œν–‰(μž…μ°°) ν›„ λ°”λ‘œ κ΅¬λ…μ£Όμ†Œλ‘œ 보내쀀닀.
  2. 이후 ν•΄λ‹Ή λ©”μ‹œμ§€μ˜ μž…μ°°κ°€κ²©μ΄ μ΅œκ³ κ°€μΈμ§€ ν™•μΈν•œλ‹€.
  3. μ΅œκ³ κ°€λΌλ©΄ λ™μΌν•œ λ©”μ‹œμ§€λ₯Ό ν•œλ²ˆ 더 λ°œν–‰ν•œλ‹€.
  4. ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ λ™μΌν•œ λ©”μ‹œμ§€λ₯Ό 확인 ν›„ μ΅œκ³ κ°€λ₯Ό λͺ¨λ“  ν΄λΌμ΄μ–ΈνŠΈμ— μ•Œλ €μ€€λ‹€.

μœ„μ™€ 흐름은 μ—¬λŸ¬ 단점이 μ‘΄μž¬ν•œλ‹€.

κ°œμ„ λœ 데이트 흐름

  @MessageMapping("/chat/{roomId}")
  public void chat(@DestinationVariable String roomId,
                   MessageDTO message) {

      boolean isHighest = chatService.isHighestPrice(message);
      message.updateStatus(isHighest);
      template.convertAndSend("/sub/" + message.getRoomId(), message);
  }
  1. ν΄λΌμ΄μ–ΈνŠΈλŠ” μž…μ°°μ„ ν•œλ‹€.
  2. ν•΄λ‹Ή λ©”μ‹œμ§€μ˜ μž…μ°°κ°€κ²©μ΄ μ΅œκ³ κ°€μΈμ§€ ν™•μΈν•œλ‹€.
  3. 확인 ν›„ μ΅œκ³ κ°€ 여뢀에 따라 λ‹€λ₯Έ λ©”μ‹œμ§€λ₯Ό λ°œν–‰ν•œλ‹€.
  4. ν΄λΌμ΄μ–ΈνŠΈλŠ” 이λ₯Ό 확인 ν›„ λͺ¨λ“  ν΄λΌμ΄μ–ΈνŠΈμ— μ•Œλ €μ€€λ‹€.

μœ„ κ°œμ„ λœ 흐름은 초기 νλ¦„μ˜ 단점을 κ°œμ„ ν•  수 μžˆμ—ˆλ‹€.

μœ„ νλ¦„μ—μ„œλŠ” ν•„μˆ˜μ μœΌλ‘œ Redisλ₯Ό λ¨Όμ € 거치기 λ•Œλ¬Έμ—, 초기 ꡬ쑰보닀 μƒλŒ€μ μœΌλ‘œ 느린 응닡 μ‹œκ°„μ„ κ°€μ§ˆ 수 μžˆλ‹€. ν•˜μ§€λ§Œ Redis의 ν•΄μ‹œ 데이터 ν•˜λ‚˜λ§Œ κ°±μ‹ ν•˜λŠ” 과정을 거치기 λ•Œλ¬Έμ— 큰 지연이 λ°œμƒν•˜μ§„ μ•Šμ„ 것이닀. μ‚¬μš©μž κ²½ν—˜ μΈ‘λ©΄μ—μ„œ μƒκ°ν–ˆκ³ , μžμ‹ μ˜ μž…μ°°μ΄ μ„±κ³΅ν–ˆλŠ”κ°€μ— λŒ€ν•œ μ •ν™•ν•œ 응닡이 더 μ€‘μš”ν•˜λ‹€κ³  μƒκ°ν–ˆλ‹€.

πŸ“‹ μž‘μ—… 상세 λ‚΄μš©

O0oO0Oo commented 5 months ago

잘 μ½μ—ˆμŠ΅λ‹ˆλ‹€! ν™•μ‹€νžˆ λ ˆλ””μŠ€λŠ” κ°„λ‹¨ν•œ μ—°μ‚°μ΄μ—¬μ„œ μœ μ €κ°€ κΈ°λ‹€λ¦¬λŠ” μ‹œκ°„μ΄ 적을것 κ°™μ•„μš”. λ‘λ²ˆμ˜ ν†΅μ‹ λ³΄λ‹€λŠ” μ•½κ°„μ˜ 지연이 생겨도 ν•œλ²ˆμ˜ ν™•μ‹€ν•œ 응닡이 μ ν•©ν•œκ²ƒ κ°™μŠ΅λ‹ˆλ‹€.