TPL을 많이 사용하고 있으며 큰 데이터 흐름 파이프 라인 구조를 가지고 있습니다.
파이프 라인 네트워크의 일부로 푸른 색 얼룩 저장 장치에 일부 데이터를 쓰려고합니다. 우리는 많은 데이터를 가지고 있으므로 4
스토리지 계정이 있고 그 사이에 데이터를 균등하게 분배하려고합니다.TPL 라운드 로빈 링크가있는 블록?
데이터 흐름 파이프 라인 패턴을 계속 사용하고자하므로 SourceBlock
을 구현하고 싶습니다. 여러 대상 블록에 연결하면 라운드 로빈을 사용하여 메시지를 보내 게됩니다. BufferBlock
은 메시지를 허용하는 첫 번째 블록으로 메시지를 보내고 모든 대상 블록이 큰 용량을 가진다고 가정하기 때문에 충분하지 않습니다. 모든 메시지는 첫 번째 대상 블록으로 이동합니다. BroadcastBlock
도 좋지 않습니다. 중복을 원하지 않기 때문입니다.
어떤 권장 사항이 있습니까? 라운드 로빈 동작과 함께 ISourceBlock
인터페이스를 구현하는 것이 그렇게 간단하지 않은 것 같아서 거기에 간단한 솔루션이 있는지 궁금해했습니다. 또는 내가 익숙하지 않은 TPL의 확장?
감사합니다. VMAtm. 이전에 술어를 통과 시키려 한 적이 없었고 샘플에서 많은 것을 배웠습니다. 내 사건에 적용 할 수 있는지 아직 확실하지 않습니다. 그러나 완전히 이해하지 못했기 때문에 무언가를 놓칠 수도 있습니다. 그래서 한 가지 질문 - "* 기억 문제를 피하기 위해 적어도 한번은 술어가없는 블록을 연결해야한다는 것을 기억하십시오." 기억의 문제점을 말씀해 주시겠습니까? – Zorik
내가 말했듯이,이 코드는 제대로 테스트되지 않았고, 어쩌면 모든 상황이 거짓이되는 상황이있을 수 있습니다. 그 후 메시지는 프로그램이 끝날 때까지'BufferBlock'에 남아있을 것입니다. biffer를 떠나기 위해 "bad"메시지에 대한 블록을 만드는 것이 일반적입니다. 'NullTarget'은 단순히 메시지를 무시하지만 원하는 블록을 사용하고 모든 술어 누락을 로그 할 수 있습니다. – VMAtm
감사합니다. – Zorik