거북왕
25k
2019-01-03 14:43:19
8
2855

[펌] 천만 명의 사용자에게 1분 내로 알림 보내기 (병렬프로세스의 최적화)


https://taetaetae.github.io/2019/01/02/faster-parallel-processes/


만약 1번부터 10번까지 번호표가 있는 사람들 총 열명에게 혼자서 동일한 내용의 메일을 보낸다고 가정해보자. 그리고 메일 발송시 한번에 한명에게만 보내야 하는 제한사항이 있을때 과연 당신은 어떤식으로 보내겠는가? 이어서 읽지말고 한번 생각해보자.

아무것도 고려하지 않고 단순하게 생각한다면 1번 보내고 > 2번 보내고 … 9번 보내고 > 10번 보내는 방법이 먼저 떠오르게 된다. (for loop 1 to 10 … ) 하지만 보내야 할 사람들이 많아져서 백명, 천명 많게는 천만명에게 보내야 할 경우 방금과 같은 순차적인 방법을 사용하면 너무 늦게 발송된다는건 코드를 작성하지 않아도 알 수있는 문제… 그렇다면 어떤 방법으로 보내야 보다 빨리 보낼수 있을까?

이번 포스팅에서는 필자가 운영하고 있는 서비스에서 기존에 있던 병렬프로세스를 어떤식으로 최적화 했는지, 그래서 결국 얼마나 빨라졌는지에 대한 과정을 정리해 보고자 한다. 비단 메일 발송이나 앱 푸시 등 특정 도메인에 국한되지는 않고 전반적인 프로세스에 대해 이해를 한다면 다른 곳에서도 비슷한 방법으로 활용할 수 있을꺼라 기대 해본다.


관심있는 분은 참고바랍니다.

13
17
  • 댓글 8

  • doubler
    247
    2019-01-03 15:00:03

    매번 글 잘보고 있습니다. 이러한 자료는 어디서 구하시는지 궁금하네요

    0
  • termy
    120
    2019-01-03 20:05:00

    ㄴ https://open.kakao.com/o/gx89mP0 (출퇴근길 개발 읽기)

    이 오픈채팅방 아닐까요?

    0
  • 거북왕
    25k
    2019-01-03 21:06:02

    제가 구글이나 페이스북에서 직접 가져온 링크입니다ㅎㅎ

    1
  • termy
    120
    2019-01-03 23:00:43

    그렇군요 좋은 자료 올려주셔서 항상 감사드립니다!

    0
  • jja
    1k
    2019-01-05 04:30:11

    fcm으로 바뀌면서 구독 기능이 생겼지요... 올해 7월부터 gcm 서비스종료라 ㅜ

    0
  • 기분전환
    1k
    2019-01-09 12:10:46

    오픈채팅방 참여코드는 뭘까요?.. 깃허브 봐도 모르겠는데..

    0
  • taetaetae
    13
    2019-01-09 17:52:34

    해당 블로그 저자입니다 ^^;

    http://daily-devblog.com 여기서 구독하시면 매일매일 기술 관련된 글을 메일로 보내드리고 있습니다.

    참고하셔도 좋을듯 해요~

    2
  • dydo_
    92
    2019-01-09 23:33:56

    이건 진짜 꿀같은 펌이네요. 잘봤습니다.

    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.