일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- game
- Nest.js
- AWS
- typeORM
- nodejs
- JavaScript
- OCR
- Express
- cookie
- jest
- 공룡게임
- flask
- MongoDB
- MySQL
- Dinosaur
- GIT
- class
- nestjs
- 정렬
- Bull
- TypeScript
- Queue
- Python
- react
- mongoose
- 게임
- Sequelize
- 자료구조
- dfs
- Today
- Total
목록event-emitter (2)
포시코딩
개요 면접 보다가 어느 개발자분께서 내 프로젝트에 대해 아주 흥미로운 질문을 한 적이 있다. "Bull과 Event-Emitter를 통해 동시성 문제를 해결하셨다고 했는데 만약 서버가 여러 대라면 그대로 동작할까요?" 잠시 생각해보니 Job을 생성하고 대기하는 service와 Job을 감지하고 꺼내 쓰는 consumer 및 service가 각기 다른 서버에서 동작할 경우 둘 다 길을 잃어 제대로 동작하지 않겠구나란 생각을 했다. 한번도 고려해보지 않은 문제라 솔직하게 생각해보지 않았고 따로 한번 알아보겠다고 했던 기억이 난다. 면접이 끝난뒤부터 이 숙제는 계속 날 따라다녔다. 해당 문제를 어떻게 구현시킬까? 서버를 한 대 더 배치한 후 로드 밸런싱을 통해 테스트해봐야 하나? 그럼 local로 동작하는 R..
개요 https://4sii.tistory.com/422 https://4sii.tistory.com/423 https://4sii.tistory.com/428 https://4sii.tistory.com/456 이전에 작성됐던 동시성 문제 관련 글들은 적용하며 겪은 시행착오에 대한 내용이라면 이번 글은 성공적으로 완성된 모임 참여 로직에 대한 전체적인 설명이 내용이 되겠다. 흐름을 돕기 위해 코드 중간중간 console.log()로 설명을 추가했다. 들어가기 앞서 이제부터 코드를 볼건데 코드만 보면 이해하기 어렵기 때문에 이해를 돕기 위해 그림으로도 그려봤다. 보다가 흐름이 이해가 가지 않는다면 위로 올라와 어떤 메서드에서 어떤 흐름으로 진행되고 있는지 한번 보고나서 코드를 보면 도움이 될 것이다. 클..