
Axon Framework를 이용해서 이벤트 소싱을 도입하자
·
backend
원래는 이벤트 소싱으로 도메인을 먼저 관리하고, CQRS 패턴을 이용해서 Command와 Query를 분리하면서 책임을 명확히 하는 식으로 단점을 보완하는게 맞다.본 프로젝트는 이와 다르게, 전적 통계를 위해 CQRS 패턴을 먼저 구현해서 Axon Server 없이 Kafka만을 이용해서 게임이 끝날때의 전적 종료 이벤트를 받아 작업했다. 그러다가 member 서비스에서 사용자 데이터를 관리하는데 있어서 전적 결과에 따른 실력 점수(Elo, MMR 등)의 변동은 비즈니스적으로 정합성 관리가 중요하다고 판단했다. 따라서 인과는 좀 다르지만 뒤늦게 이벤트 소싱을 통해 사용자 정보를 관리하게 되었다. 아직 사용자 서비스에 대한 CQRS는 구현되지 않았고, 전적 쿼리 서비스와 전적 서비스간의 이벤트 처리..