피드로 돌아가기
Dev.toBackend
원문 읽기
Nylas API 기반의 다중 캘린더 통합 Reminder 시스템 설계
Event Reminders From an Agent's Calendar
AI 요약
Context
기존 캘린더 알림은 이벤트 소유자에게만 제한적으로 전송되는 한계 존재. 외부 참가자에게까지 도달하는 통합 알림 시스템을 위해 다중 Provider(Google, MS, Exchange)를 지원하는 추상화 계층 필요.
Technical Solution
- 15분 주기 Cron Job을 통한 24시간 윈도우 내 이벤트 Fetch 및 필터링 구조 설계
- 중복 알림 방지를 위해 Event ID 및 주요 필드(시간, 제목, 참가자)의 Hash 값을 Key로 하는 Persistent Store 도입
- All-day 이벤트, 취소된 일정, 내부 전용 메모를 제외하는 다단계 필터링 로직으로 불필요한 Notification 제거
- Webhook(event.updated, event.deleted)을 활용하여 변경 사항에 즉각 대응하는 Reactive 업데이트 flow 구축
- 시간대 불일치 해결을 위해 start_timezone 기반의 로컬 시간 포맷팅 및 UTC Fallback 전략 적용
- 삭제 이벤트의 페이로드 최소화 문제를 해결하기 위해 발송 시점의 메타데이터를 저장소에 동시 기록
실천 포인트
1. 중복 발송 방지를 위해 단순 ID 저장이 아닌 데이터 변경 감지를 위한 Hash 기반 버전 관리 검토
2. Webhook 수신 시 데이터 유실 가능성을 고려하여 발송 시점의 최소 메타데이터를 DB에 캐싱
3. Provider별 Sync Lag 차이를 고려하여 Reminder 발송 윈도우의 버퍼 시간 확보
4. 다국적 사용자를 위한 Timezone 처리 시 API 제공 필드 우선순위 및 Fallback 정책 수립