다중 처리를 통해 rpc를 수행하는 좋은 방법은 무엇입니까? 프로세스입니까?다중 처리를위한 RPC, 디자인 문제
다음 아키텍처에 대한 조언도 디자인되어 있습니다. 프로세스 A * 10, 프로세스 B * 1. 각 프로세스 A는 특정 항목을 쿼리해야하는지 여부를 프로세서 B에서 확인해야합니다.
그래서 모든 As에 대해 다중 처리. 파이프() 객체를 구현하려고하고 있었고 B가 각각을 듣도록했습니다. 그러나 Multiprocessing.Pipe.recv는 블로킹 (blocking)이라는 것을 알고 있습니다. 그래서 나는 이것을 어떻게 할 수 있는지 정말로 모른다. (루프를 사용하여 루프가 차단 될 상대방을 통해 전송 된 것 중 어느 것이 있는지 확인하십시오).
트위스트를 사용하는 방법에 대한 제안 사항이 있습니다. 그러나 뒤틀린 상태에서이 작업을 수행하는 방법에 대해 확신하지 못합니다. 모든 프로세스 A에서 각 pipe.handler에 지연을 생성해야하며 recv()가 수신하면 어떤 일이 계속되고 특정 루틴을 완료합니까? 나는 개인적으로 트위스트가 멀티 프로세싱과 잘 섞이지 않는다는 것을 알고 있지만, 멀티 프로세싱 구현의 자식 프로세스 인 트위스티드 (twisted)에 대한 테스트를 수행했으며 이번에는 실행 가능하다고 생각합니다.
어떤 권장 사항이 있습니까?