2016-09-23 2 views
1

카우보이에서 작성한 웹 서비스가 있고 DB 계층으로 RabbitMQ를 사용할 계획입니다. 따라서 카우보이 서비스는 대기열에 쓰고 소비자가 데이터베이스에 쓰는 프로듀서 중 하나가됩니다. 다른 서비스 (카우보이가 아닌)에서 오는 비동기 작업이 두 개 더 있습니다.카우보이 메시지 대기열 설계

이제 소비자는 어디로 가야합니까? 단일 얼랭 앱의 일부이거나 모든 소비자를 위해 별도의 얼랑 앱을 만들어야합니까? 조언을 주시면 감사하겠습니다.

답변

1

Erlang은 독점적 인 제작자가 아니며, 일반적으로 생산자에 대한 지식이 없어도 실행되는 소비자를 상상할 수 있기 때문에 별도의 응용 프로그램을 사용하는 것은 좋지 않습니다. Erlang 단일 릴리스에서 여러 개의 최상위 레벨 응용 프로그램을 만들 수 있습니다 (즉, 종속성이 무엇인지). 그래서 항상 모든 코드를 동일한 저장소에 넣을 수 있습니다 (일반적으로 이들에 대한 최상위 수준의 응용 프로그램/디렉토리가 있음). 나중에 필요한 경우 repos를 분리하기 위해 분리하십시오.

별도의 응용 프로그램으로 만들면 나중에 여러 노드에서 응용 프로그램을 쉽게 배포 할 수 있습니다. 일부 노드에서는 관련 제작자 응용 프로그램을 시작하고 다른 노드에서는 관련 응용 프로그램을 시작하기 만하면됩니다.

두 가지 방법이 있지만 아마도 별도의 앱이 더 깨끗한 디자인 일 것이고 향후 확장을 위해 문을 약간 더 멋지게 유지할 수 있습니다.

+0

너무 늦게 답변 해 주셔서 감사합니다. 감사. 소비자가 얼마나 작은 지 상관없이 분리하여 보관하는 것에 대해 생각했습니다. – user3404572