매칭 서버의 대규모 트래픽 시험 검증하기 (feat. Kafka 성능 튜닝)
·
project/wargame
매칭 시스템은  가장 성능이 중요한 비즈니스인 만큼 검증은 필수적이다.  매칭 비즈니스 흐름도기본 골자는 다음과 같다.registerMatchQueue : 회원 서비스에게 요청을 보내서 현재 게임중인 사용자인지 검증하고, 매칭 큐에 등록한다.getRank : 현재 매칭중인지 확인하는 APIcalcelMatchQueue : 매칭 큐에 등록된 사용자인지 확인하고 취소한다.  매칭 큐에 등록될때 ZSet 자료구조를 통해 사용자의 Elo 점수를 score로 정렬해서 비슷한 실력대의 사용자들끼리 매칭시켜준다. 마이크로 서비스로 분해하면서 회원 정보의 Nickname에 접근하기 까다로워졌기에, 맨 처음 매칭 큐에 등록할때 사용자 정보를 받아서 HSet 타입으로 캐싱해둬서 가져오도록 했다.    매칭하는데 결과가 줄..
동물원을 탈출한 Kafka를 잡아왔습니다
·
kafka
https://downfa11.tistory.com/32 동물원을 탈출한 Kafka를 찾습니다부제 : Kafka에서 이제 Zookeeper가 필요 없어졌다고...???​네?????/​​Apache Kafka 2.8.0 출시 이후로 Zookeeper에 대한 의존성이 점차 제거되고 있다.​다만 3.3.1 릴리즈부터 시작해서 4.0 부터 Zookeeper가 제downfa11.tistory.com  이전 '동물원을 탈출한 Kafka를 찾습니다' 게시글에서 이어지는 글​​​왜 Apache Kafka일까?높은 처리량순차 접근 (Sequential I/O)디스크에 연속적으로 데이터를 쓰고 읽는 방식write : 랜덤 접근하는 기존 방식과 다르게, Kafka는 디스크에 시간 순서대로(순차적) 데이터를 기록read : ..