일부 중간 브로커에 캐시되어야하는 이벤트와 데이터를 보내는 네트워크 반대편에 시스템이 있다고 가정하십시오.싱글 톤 네트워크 이벤트 프로세서는 괜찮습니까?
응용 프로그램의 모든 구성 요소에 브로커에 대한 새 구독을 알리는 대신 성능 및 단순성을 결정합니다 (브로커 구독을 처리하는 타사 라이브러리는 꽤 이상하지 않습니다). 이벤트 처리기는 브로커에 가입하고 구성 요소가 제공하는 구독 청취자에게 이벤트를 수신 할 때 프로그램 방식으로 이벤트를 시작합니다. 이 싱글 톤에서 캐시 된 데이터를 공유 할 수도 있습니다. 이렇게하면 네트워크 연결이 크게 줄어 듭니다.
그러나 싱글 톤에 대한 대부분의 논의에 따르면 동시성이나 하드웨어상의 이유로 액세스 포인트가 하나만 필요하지 않는 한 항상 악의적입니다. 브로커를 통해 모든 데이터를 요청할 수 있기 때문에 모든 구성 요소에 자체 구독 및 자체 개인 데이터 캐시가있을 수 있기 때문에 이것은 내 상황이 아닙니다. 그러나 이것은 200 개의 네트워크 연결을 쉽게 추가 할 수 있습니다.
싱글 톤이 악의적 인 이유는 200 개의 데이터 복사본이있는 브로커에 200 개의 연결이 더 이상 사용하지 않는 것입니다. 이것으로 게임 속도가 느려지지만 게임이 중단되지 않으면 애플리케이션을 사용할 수 있습니다.