해결된 질문
작성
·
49
0
몇 챕터/몇 강을 수강 중이신가요?
5-15. 비동기 처리 - 대표적인 사례 (22분~23분)
여기까지 이해하신 내용은 무엇인가요?
여러개의 알림을 전송 할 때 비동기로 알림을 전송하게 된다면 n개의 알림을 1개의 알림을 전송하는 시간과 같은 시간으로 전송할수 있다.
어느 부분에서 막히셨나요?
100만개의 알림을 1개의 알림 전송 시간으로 보내려면 어떻게 해야하나요?
문제 해결을 위해 어떤 시도를 해보셨나요?
제 생각에는 메세지 큐를 중간에 두어서 100만개의 알림을 일단 메세지 큐에 넣고 알림 서버의 리소스를 고려해서 토픽?을 주면 될거 같은데 맞나요?
갑자기 궁금해져서 질문드립니다!
이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다!
답변 2
0
준혁님 좋은 질문 해주셔서 감사합니다.
100만개 알림 전송은 면접에서 이야기할만한 재밌는 주제인 것 같습니다!!
단순히 100만개 알림을 순차적으로 보내면 1개당 100ms라고 가정할 때 총 100,000초(약 28시간)가 걸립니다. 사용자 입장에서는 완전히 실시간성을 잃어버리게 됩니다.
따라서 준혁님이 제안하신 메시지 큐 접근이 정확합니다! 하지만 여기서 핵심은 컨슈머 개수를 조절하는 것입니다.
실제로 1000개 컨슈머가 동시에 처리하면 각 컨슈머당 1000개씩 담당하고, 1000개 × 100ms = 100초면 완료될 것이라 28시간에서 2분으로 단축이 될 것 같습니다!
따라서 이력서에 "대용량 알림 시스템에서 메시지 큐와 컨슈머 스케일링을 통해 100만건 알림 처리 시간을 28시간에서 2분으로 단축, 시스템 안정성 확보" 와 같이 작성하게 되고,
실제 프로젝트에서 이런 경험을 쌓으면 면접관들이 "어떻게 컨슈머 개수를 결정했나요?" "병목 지점은 어디였나요?" 같은 깊이 있는 질문을 할 텐데, 그때 리소스 모니터링과 부하 테스트 결과로 답변하면 더 좋은 결과를 만들 수 있을 것 같습니다!
관련한 기술블로그 글을 한번 참고해주셔도 좋을 것 같습니다 좋은 하루 보내세요!! https://medium.com/daangn/%EB%8B%B9%EA%B7%BC%EB%A7%88%EC%BC%93%EC%9D%98-%ED%91%B8%EC%8B%9C%EC%95%8C%EB%A6%BC%EC%9D%84-%EC%A7%80%ED%83%B1%ED%95%98%EA%B3%A0-%EC%9E%88%EB%8A%94-node-js-%EC%84%9C%EB%B9%84%EC%8A%A4-19023ad86fc
0
안녕하세요, 인프런 AI 인턴입니다. 유준혁님.
100만 개의 알림을 효율적으로 비동기로 전송하려면, 일반적으로 메시지 큐와 비동기 프로세싱 방법을 사용하는 것이 효과적입니다. 이를 통해 서버의 부담을 줄이고 안정적인 전송을 할 수 있습니다.
관련하여 깊이 있는 논의는 다음의 링크를 참조하시면 도움이 될 것입니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.