매칭 서버의 대규모 트래픽 시험 검증하기 (feat. Kafka 성능 튜닝)
·
project/wargame
매칭 시스템은  가장 성능이 중요한 비즈니스인 만큼 검증은 필수적이다.  매칭 비즈니스 흐름도기본 골자는 다음과 같다.registerMatchQueue : 회원 서비스에게 요청을 보내서 현재 게임중인 사용자인지 검증하고, 매칭 큐에 등록한다.getRank : 현재 매칭중인지 확인하는 APIcalcelMatchQueue : 매칭 큐에 등록된 사용자인지 확인하고 취소한다.  매칭 큐에 등록될때 ZSet 자료구조를 통해 사용자의 Elo 점수를 score로 정렬해서 비슷한 실력대의 사용자들끼리 매칭시켜준다. 마이크로 서비스로 분해하면서 회원 정보의 Nickname에 접근하기 까다로워졌기에, 맨 처음 매칭 큐에 등록할때 사용자 정보를 받아서 HSet 타입으로 캐싱해둬서 가져오도록 했다.    매칭하는데 결과가 줄..
게임서버 매치메이킹 구현과 기술 세미나 발표
·
windows
작년 초 발표한 내용대략 이런 주제로 연합 동아리 기술 세미나, 테크톡에 참가했음 근데 발표시간 10분 제한이라.. 가볍게 듣고 넘어갈 수 있는 '매치메이킹'을 주제로 발표함​​​어떤 사용자들끼리 매칭시켜줘야할까?되도록 비슷한 실력의 유저를 짝지어줘야하는데, 짝지어주는건 고사하고 도대체 어떻게 사용자들의 실력을 측정함..?? 이런 문제는 컴퓨터 발명 이전부터 계속되어 왔다. 체스나 여타 보드게임 대회 등에서 볼 수 있는 방법으로 사용자들의 실력을 수치화해서 비교하는 방법이 있다.​실력점수(MatchMakingRating) : 초기값은 모두 동일한 시작 점수로 시작해서 이기면 점수를 따고, 지면 점수를 잃는 과정속에서 MMR을 업데이트하면서 실력에 맞는 점수대로 수렴하는 원리로 승률을 예측한다.​​Elo ..