EventEmitter와 작업 큐는 작업이 어디에서 실행돼야 하고 프로세스가 멈추면 어떻게 돼야 하는지에 따라 선택합니다.
EventEmitter는 한 Node.js 프로세스의 리스너에게 알립니다. 영속 큐는 워커가 나중에 처리할 작업을 저장합니다. 둘 다 책임을 분리하지만 장애 시 동작은 다릅니다.
1. 로컬 알림 흐름을 봅니다
컴포넌트 초기화가 끝나 같은 프로세스의 다른 컴포넌트가 반응해야 한다고 합시다. 리스너를 등록하고 이벤트를 발생시키는 EventEmitter가 자연스럽습니다.
[One process]
emit("ready") -> Listener A
-> Listener B
Node.js는 등록 순서대로 리스너를 동기 호출합니다. 이벤트 자체는 나중에 등록할 리스너를 위해 저장되지 않으며, 미완료 작업도 프로세스 장애 후 남지 않습니다. .
