Skip to content

[refactor] Kafka를 이용한 비동기 MySQL 랭킹 업데이트 진행 #191

@dlsrks1021

Description

@dlsrks1021

📄 설명

현재 랭킹 업데이트는 각 단건 요청에 대해 Redis와 MySQL에 동시 쓰기 작업을 진행하고 있습니다.
예상됐던 문제는 MySQL의 Connection 딜레이로 인해 대규모 트래픽 요청 시 응답 시간에 지연이 발생할 수 있다는 것입니다.

이에 대해 Grafana K6로 500 req/s 요청을 60초간 테스트한 결과,
평균 6.35초의 딜레이가 발생하는 문제를 확인할 수 있었습니다.

이와 같은 딜레이를 방지하는 데에는 MySQL의 데이터 업데이트 요청을 Kafka를 이용해 비동기 배치 작업으로 변경하는 방법이 존재합니다.

따라서 Kafka 비동기 배치 작업을 통해 대규모 트래픽 발생에 대한 응답 지연 현상을 방지하고자 랭킹 업데이트 작업을 리팩토링 하고자 합니다.

✅ 리팩토링 내용

  • MySQL 랭킹 업데이트에 대해 Kafka 비동기 요청으로 리팩토링

💡 참고 자료

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions