포크와 메세지큐...

jinguman의 이미지

편지를 받아와서.. 그것을 큐에 저장해 놓으면,
그 큐에서 편지를 꺼내, 일정형식으로 변환하여 다른 곳으로 내보내는 프로그램을 작성하려고 합니다.

근데, 이 메세지가 다량이라, 포크를 써서 멀티프로세서 방식으로 구현할려고 합니다만..
이때... 이 큐를 메세지큐로 써도 될련지,

그리고, 멀티프로세서방식을 위해, 큐에 저장하는 루틴과 큐에서 빼오는 루틴을 만들어, 그것을 포크로 처리하려고
하는데, 그러다 보면 역시 세마포어가 필요할 것 같고, 세마포어를 써서 하나만 접근하게 하면, 또 대기하는
저장루틴과 빼오는 루틴이 늘어날 것같은데, 어떤 좋은 아이디어없을까요..

rookey94의 이미지

제 생각에는 큐를 사용하셔도 무방할것 같습니다.
일반적으로 메시지 큐에 데이타를 넣고 빼는 시간은 무척 빠를겁니다.
그 메시지를 가지고 와서 가공하고 저장하는데 시간이 오래걸리겠죠.

저도 대량 메시지 처리를 할때 자주 사용하는 방법중에 하나입니다.

메시지 PUT(multi Thread)=>메시지큐=>메시지GET(Thread Pool)=>메시지 가공및 전송(Process Pool)

그럼 수고하세요.