2014-12-02 3 views
1

im new to nodejs. 모듈/패키지 간 통신에 사용할 수있는 노드 애플리케이션에서 pub/sub 메시징을 사용하는 방법을 찾고 있습니다.모듈 간 통신을 위해 EventEmitter를 사용하는 메모리 메시지 버스의 Nodej

EventEmitter를 사용할 때 이벤트에서 eventEmitter 인스턴스를 사용하려고 했으므로 전역 이벤트 버스로 작동 할 수 있습니다. 하지만 그 일을하는 것에 대해 나쁜 감정을 가지고 있습니다. 노드를 알지 못하는 단점이 있습니다.

또는 대체 방법이 있습니까?

이 전용 메모리에 여러 예를

+0

이벤트 개체를 구독 (.on)하고 게시 (.emit)하기 위해 프로세스 개체를 사용합니다. –

답변

1

만약 당신이 좋아하면 당신은 모듈 캐시에 의존 할 수에게 교차되지 않습니다. 일부 모듈은 필요한 경우 상태를 유지하기 위해이를 수행합니다 (예 : 몽구스).

메시지 버스 모듈이 내부적으로 상태를 유지하고 pub/sub 기능 만 내 보내면 필요로하는 다른 모듈이 동일한 '인스턴스'를 가져 와서 게시 할 수 있습니다./sub를 동일한 채널에 대해 적용합니다.

+0

예, 작동하지만 노드의 모듈 캐시는 어떻게 작동합니까? 여러 개의 종속 모듈에서 사용되는 "사용자 정의 이벤트"모듈의 여러 버전이있는 경우에도 동일한 인스턴스가 생성됩니까? – Eatdoku

+0

자세한 내용은 여기 : http://fredkschott.com/post/2014/06/require-and-the-module-system/하지만 기본적으로 캐시는 응용 프로그램에서 유효합니다. 실제 * 버전 * (예 : 1.2 대 1.3)을 말하면 동일한 인스턴스가 아닙니다. 응용 프로그램 내에서 여러 모듈을 필요로한다는 것을 의미하면 잘됩니다. – Paul

+0

우리는이 이벤트 버스 대신에 하나만 가질 수 있도록 gloabl을 사용합니다. – Eatdoku

관련 문제