經典計算模型
數據流編程,由於網絡規模的實時服務的激增,正在經歷復興。它固有的簡單性,可擴展性和資源效率使其非常適合眾多工程挑戰。 Straw是一個Node.js框架,促進了數據流的實現,最初是為實時財務數據處理而設計的,並且能夠在適度的硬件上每秒處理數千封消息。
稻草和乾草概論>
。 乾草堆克隆和設置: >運行FireHose數據流>
, )。訪問
>
(無輸入)引入消息;
>catch-langs節點(用於語言聚合)
使用express和socket.io(或sockjs)使用A )接收並可視化此數據。
Haystack 示例用於實時數據流的數據流處理。 Straw的固有的並行性和模塊化簡化了複雜的任務。 通過添加節點和可視化來擴展乾草堆。 >
npm install -g bower
<code class="language-bash">git clone https://github.com/simonswain/haystack
cd haystack
npm install
bower install</code>
consumer_key
,consumer_secret
。 用您的憑據更新Haystack的示例配置文件(access_token_key
):access_token_secret
>
config.js
<code class="language-javascript">exports.twitter = {
consumer_key: '{your consumer key}',
consumer_secret: '{your consumer secret}',
access_token_key: '{your access token key}',
access_token_secret: '{your access token secret}'
};</code>
),另一個用於Express Server(node run
。 node server.js
的可視化
http://localhost:3000
run.js
<code class="language-javascript">var topo = new straw.topology({
'consume-firehose': {
'node': __dirname + '/nodes/consume-firehose.js',
'output': 'raw-tweets',
'twitter': config.twitter
},
'route-tweets': {
'node': __dirname + '/nodes/route-tweets.js',
'input': 'raw-tweets',
'outputs': {
'geo': 'client-geo',
'lang': 'lang',
'text': 'text'
}
},
// ... more nodes
});</code>
>目錄中。 nodes
演示了選擇性消息路由的多個輸出。 consume-firehose
route-tweets
>consume-firehose.js
<code class="language-javascript">// nodes/consume-firehose.js
var straw = require('straw');
var Twitter = require('twitter');
module.exports = straw.node.extend({
initialize: function(opts, done) {
this.twit = new Twitter(opts.twitter);
process.nextTick(done);
},
run: function(done) {
var self = this;
this.twit.stream('statuses/sample', function(stream) {
stream.on('data', function(data) {
self.output(data);
});
});
done(false);
}
});</code>
:
<code class="language-bash">git clone https://github.com/simonswain/haystack
cd haystack
npm install
bower install</code>
catch-langs
匯總語言計數,定期排放總計以避免壓倒性的客戶。 它使用setInterval
來控制發射,增加語言計數並在發生變化時發射總數。
server.js
>
straw.tap
public/js/haystack.js
結論
以上是用稻草編程數據流程的詳細內容。更多資訊請關注PHP中文網其他相關文章!