저는 ZMQ를 사용하여 pub/sub 아키텍처를 설계하고 있습니다. 나는 최대한의 신뢰성과 확장 성을 필요로하며, 제공되는 가능성들에서 길을 잃어 가고 있습니다.ZMQ pub/sub 신뢰할 수있는/확장 가능한 설계
현재 브로커가 연결되어있는 게시자와 구독자가 있습니다. 브로커는 게시자 용 프론트 엔드를 노출하는 간단한 전달자 장치이며 구독자 용 백엔드입니다.
브로커가 충돌하거나 연결이 끊어지면 케이스를 처리하고 전반적인 확장 성을 향상시켜야합니다.
좋아, 그래서 여러 브로커를 추가 생각, 발행인은 메시지를 보내 브로커 라운드 로빈 것입니다, 그리고 가입자는 모든 브로커에 가입 것입니다.
그런 다음 가능한 브로커 목록을 검색하는 방법이 필요했습니다. 따라서 브로커 목록을 제공하는 이름 서비스를 작성했습니다. 게시자와 구독자는 어떤 브로커에 연결할지이 서비스에 요청합니다.
또한 메인 이름 서비스가 실패 할 경우 신뢰할 수있는 이름 서비스 인 "lazy pirate"를 작성했습니다 (즉, 시도/재 시도).
코드베이스가 크기와 복잡성이 증가하지 않기 때문에 내가 잘못 설계하고 있다고 생각하기 시작했습니다. 나는 ZMQ가 제공하는 가능성의 정글에서 길을 잃었습니다.
라우터/딜러를 기반으로하는 것이 유용할까요?
대단히 감사합니다.