0
알림 시스템의 디자인 패턴을 찾고 있습니다. 알림은 전화, SMS 또는 이메일이 될 수 있으며 이는 1 명의 많은 사용자가 특정 시간에 발생합니다. 알림 프로세스는 내부 이벤트에 의해 트리거됩니다. 많은 수의 일정을 예약하기위한 디자인 패턴
After the event is triggered...
Call - person A at 03:00:00 (attempt 1)
Call - person B at 03:00:05 (attempt 1)
Call - person C at 03:01:00 (attempt 1)
Call - person A at 03:05:00 (attempt 2)
Call - person B at 03:05:05 (attempt 2)
Call - person C at 03:06:00 (attempt 2)
...
Person A answered on attempt 3. Cancel all pending notifications for the event.
디자인 # 1.1
알림에 대한 정보를 포함하는 테이블 유무 : 같은 일반적인 시나리오가 보일 것이다. 이벤트가 트리거 된 후 각 사용자에 대한 첫 번째 시도에 대한 모든 알림이 미리 예약되어 테이블에 삽입됩니다. 서비스는 테이블을 계속 쿼리하여 현재 처리해야하는 알림을 가져옵니다. 알림을 처리해야 할 경우 테이블에서 삭제되고 다음 알림 시도가 테이블에 삽입됩니다. 이 서비스는 작업을 다른 서비스로 오프로드하여 알림을 수행합니다. 이벤트에 대한 보류중인 알림은 테이블에서 삭제하여 취소 할 수 있습니다.장점 :
- 표가 지속적으로 쿼리 :
- 심플한 디자인
- 서비스는
단점 경량입니다. 그렇게하는 것이 가장 효율적인 방법 인 것 같지 않습니다.
주 :
- 추가 제안 레무스 Rusanu
다른 디자인과 의견을 주시면 감사하겠습니다.
답장을 보내 주셔서 감사합니다. – user3811205