User Activity Tracking
- 고객의 페이지 뷰, 클릭 등의 구체적인 행위를 수집하여 고객 행동을 분석/모니터링하고, 이를 통해 기능 개선이나 비즈니스 의사결정의 중요한 데이터로 활용
- 가능한 많이 수집하여 저장해 놓고, 이후 필요에 따라 적절히 가공하여 다양한 용도로 사용
- 데이터 수집은 고객에게 제공할 핵심 가치는 아니므로, 데이터 수집을 위해 Application 성능이나 기능에 영향을 끼쳐서는 안됨.
- 비동기 Batch 전송 등을 활용하여 매우 심플하게 처리하는 것이 좋은 선택임.
- 데이터 규모가 매우 크고 폭발적으로 늘어날 수 있음을 고려하여 확장에 유연한 수집/저장 프로세스를 아키텍쳐링 해야함.
- 인터넷 네트워크상의 문제로 수집 서버를 데이터가 전달되지 않을 가능성도 있는 만큼, 유실 없는 완벽한 수집보다는 빠르고 지속적인 수집에 좀 더 관심
- 컬렉터 서버를 구축하고 지속적으로 이벤트를 발행하여 적재함
- 사용자 활동 추적은 개인 정보 보호에 영향을 미칠 수 있으므로 수집하는 데이터와 사용 방법을 고객에게 투명하게 공개하고 사용자가 원하는 경우 추적을 거부할 수 있는 옵션을 제공하는 것도 중요함.
- 비동기 방식
- scale-out이 유연해야함
- 데이터 손실 가능성이 큼
비즈니스 Application 간의 Messaging
Messaging
- 비즈니스 도메인 간의 비동기 프로세스의 사용되는 메세지 브로커로서, ActiveMQ, RabbitMQ 등을 대체.