2010-05-25 2 views
0

Wikipedia : "게시/가입 (또는 게시/구독)은 메시지를 보낸 사람 (게시자)이 특정받는 사람 (구독자)에게 메시지를 보내도록 프로그래밍되지 않은 메시징 패러다임이며 게시 된 메시지는 어떤 가입자가있을 지에 대한 지식이 있습니다. "Publish/Subscribe 패러다임 : 메시지 클래스가 구독자에 대해 알지 못하는 이유는 무엇입니까?

발신자가 특정 수신자에게 메시지를 보내도록 프로그래밍되어서는 안되는 이유를 알 수 있습니다. 하지만 게시 된 메시지는 구독자에 대해 알지 못하는 수업이어야하는 이유는 무엇입니까?

메시징 시스템 자체가 갖추어지면 일반적으로 소프트웨어가 발전하면서 바뀌는 메시지는 전송 된 메시지, 게시자 및 수신자 인 것으로 보입니다. 메시지를 구독자와 별도로 유지하면 구독 모델도 변경 될 수 있습니다. 이것이 이유입니까? 또한, 이것은 현실 세계에서 발생합니까?

이것이 기본적인 질문 일 수 있다는 것을 알고 있지만이 패러다임을 이해하려고 노력하고 있으며 귀하의 답변은 대단히 감사하겠습니다.

답변

1

나는 규칙이 절대적이라고 생각하지 않으며, 가입자에 대한 지식이있는 메시지가 유용하다는 상황을 발견 할 수 있다면 아무도 당신이 틀렸다는 것을 말할 수 없을 것이라고 생각합니다. 그러나 더 나은 방법이 있다고 말하십시오.).

그러나 확장 성과 하위 호환성은 메시지가 구독자를 인식하고 있다는 사실에 직접적인 영향을 미칩니다.

호환성 측면에서 새 프로세스가 메시지를 구독하려고 할 때 어떤 일이 발생합니까? 메시지를 알리는 책임은 누구에게 있습니까 (게시자에게 기본이 될까요?). 그리고 이러한 새로운 요구 사항으로 인해 향후 구독자를 알지 못해 향후 메시지를 보존하지 못하게됩니다.

확장 성이 좋아지면 메시지 시스템이 대중화되고 모든 사람과 그들의 어머니가 내 앱 (twitter 등)에 대한 다른 가입자를 개발하기 시작하면 어떻게 될까요? 1000 회 (각 구독 클라이언트마다 하나씩) 보내지는 각 메시지를 처리하거나 훨씬 더 큰 메시지를 보내는 방법은 무엇입니까? 이로 인해 SMS와 같은 다른 기술을 사용하거나 신뢰할 수있는 전송 기술에 대한 대기 시간을 늘리지 못하게 될 수 있습니다.

아마 두통을 줄이기 위해 그렇게 말한 것 같습니다.

1

걱정거리, 인터페이스 준수 및 격리에 관한 것입니다. 왜 그들이 가입자에 대한 지식이 필요하다고 생각하십니까?

메시지가 게시판에 게시됩니다. 다른 주제의 여러 게시판이 있습니다. 독자가 없을 수도 있습니다. 매일 들어와 관심있는 주제에 대해 이사회를 확인하는 독자 (가입자)가있을 수 있습니다. 10,000 명의 독자가 모두 읽을 수 있습니다.

메시지가 독자가 알기를 기대하는 언어로 작성되는 한 포스터 (게시자) 또는 메시지 자체가 구독자에 대해 다른 것을 알 필요가있는 이유는 무엇입니까?

나는 메시지가 인터페이스/계약 수신자가 메시지에 대해 사용하는 지식이 있다고 생각하지만, 그것에 관한 내용이다.

이 모델에서도 단방향 정보 흐름을 허용하는 것처럼 보입니다 ... 구독자에 대해 알기 위해서는 양방향 정보 흐름이 있어야합니다.

관련 문제