2014-03-12 78 views
0

我卡上關於建築的問題如下:的Twitter流路由的StreamInsight

編輯:

所以我可能會在思考這個問題,否則我可能會改寫這個問題。 NServiceBus似乎爲MessagingRouting進行(類似於流的數據?),而的StreamInsight似乎Event Stream ProcessingEvent QueryingCorrelating進行。 :)。

是否有任何好處(例如,在可擴展性方面,冗餘)使用方法1超過方法2的?

「方法1」

這是一個總線(例如NServiceBus),以獲得數據到數據庫中,並使用的StreamInsight僅用於查詢/相關聯。

「方法2」

不使用NServiceBus而是利用輸入/輸出適配器,發佈/訂閱,而子是「積極推動數據到輸出適配器數據庫'?

enter image description here

原文:

我們正在創建Twitter的地方是數據流進入我們環境中的應用。這個數據是:

  1. 存儲爲原始(事件)輸入數據
  2. 已析/過濾
  3. 所查詢(使用的StreamInsight CEP)
  4. 以上步驟後剩餘的數據被存儲爲複雜事件

對於第1步,我不確定最想要的方法是什麼:

  1. 使用StreamInsight將數據流拆分爲兩部分,其中輸出適配器在一側存儲數據庫中的原始數據,另一輸出適配器將數據發送到另一輸出適配器進一步解析/過濾(步驟2)。

- 或 -

  • 使用不同的技術(MSMQ?天青服務總線?)關於 '的原始數據流路由到數據庫'
  • 任何指導,非常感謝!

    +1

    我們在談論什麼樣的數據量和加速度,性能要求是什麼? – EkoostikMartin

    +0

    音量部分未知,但現在應該能夠每秒處理至少10條消息。然而這一年可能很容易達到每秒100個。原始數據存儲的具體要求沒有硬性能要求,重點應放在「所有數據被存儲」這一事實上。與第2步到第3步不同,這裏有一個(接近)「實時」要求,但是在那一點上,它非常清楚需要去/經過StreamInsight。 – Ropstah

    回答

    1

    您談論的流量對StreamInsight來說並不多。並不是說這是一個問題。其次,沒有理由增加複雜性,並且你似乎在過度解決問題。首先,使用StreamInsight 2.1,可以很容易地創建一個接收器,將一些數據發送到數據庫,然後再進行額外的分析。這將發生在單個「進程」中(不要與Windows進程混淆),並且任何一組查詢都可能有不同的接收器用於輸出。 有意義嗎?如果你想看一個例子,你可以下載這個演示:http://1drv.ms/1nPs2cA。另外,看看我的博客www.devbiker.net。