아키텍처 Architecture/Software Architecture
2024. 2. 18.
책임연쇄패턴을 통한 로그 파싱 (chain-of-responsibility pattern)
1. 다양한 형태의 로그를 파싱할때 온프레미스, SCP, AWS, Azure, GCP 등 다양한 인프라에서 시스템을 운영하는 경우, 하나의 대시보드에서 주요 로그와 metric을 확인하기위해 로그 파싱을 위한 별도의 어플리케이션이 필요하다. 기존에 시스템의 규모가 크지 않을때는 shell 파일, 또는 단일 java 파일로 rule based 로직을 통해 충분히 필터링 후 DB에 데이터를 넣을 수 있었지만, 사용하는 WAS, DB의 종류가 다양해지면서 log의 파싱이 점차 복잡해졌다. 향후 확장성과 코드의 가독성을 고려해 디자인패턴을 도입해 개선하기로 했고 찾아보던 중 책임 연쇄 패턴 (Chain of Responsibility Pattern)을 발견했다. https://ko.wikipedia.org/wi..