아직 구현된건 아니고 생각일뿐.
문제) 모든 유저에게 오후 1시에 푸시 메시지를 보내고 싶다. 그런데 세계의 각 지역은 당연히 시간이 다르거니와 같은 국가라도 시간이 다르며 또한 섬머타임으로 인해 같은 지역이라 해도 시간이 변동된다.
방법)
1. 유저는 회원가입할때 아래 정보를 서버에게 알려준다.
- utc_offset(dst time적용되지 않았을때 offset), dst_offset(dst 적용되었을때 offset), dst_starttime, dst_endtime
2. 서버에서 푸시 예약 등록을 할때 13시 정보에 대해서 모든가능한 offset에 대해서 schedule 예약을 해둔다.
예) -12 ~ +14 까지.
이중에서 offset +2 가 보내질 시간이 되면 디비에서 다음에 해당하는 그룹을 가져와서 푸시를 보낸다.
그룹 1) utc_offset 이 2 이고 start, end time이 없는 유저 그룹
그룹 2) dst_offset 이 2 이고 now가 start, end time에 포함되는 그룹
근데 start end time 필드를 넣어놓고 쿼리 때리는게 넘 느려보인다..
'서버 교양' 카테고리의 다른 글
SSL 인증서 발급 (0) | 2015.03.04 |
---|---|
글로벌 푸시 시스템 구성하기 (0) | 2015.01.16 |
mongodb만 쓰면 mysql을 과연 안써도 될까? (0) | 2014.04.23 |
쿠키런 서버사이드 이야기 (0) | 2014.04.04 |
당신의 서버 인스턴스 한대는 몇명의 유저를 상대할수 있습니까? (0) | 2014.04.04 |