夢とガラクタの集積場

落ちこぼれ三流エンジニアである管理人の夢想=『夢』と、潰えた夢=『ガラクタ』の集積場です。

Twitter Stormの機能まとめメモ(Topology構築編)

こんにちは。

とりあえず、Topologyについて書いて軟着陸させよう・・・
ということで、Topologyについて書きます。

Topologyとは、『SpoutとBoltを組み合わせて処理ネットワークを構築する機構』です。
#または、構造自体をTopologyと呼びます。

実際にどういう風にTopologyを組むかをコードを見て確認します。
毎度のように、(storm-startar プロジェクト)から、ExclamationTopologyで説明します。

ExclamationTopologyには、Topology構築部分に下記のようなコードが記述されています。

ExclamationTopology

public static void main(String[] args) throws Exception {
    TopologyBuilder builder = new TopologyBuilder();
    
    // Spoutを並列度10で設定
    builder.setSpout("word", new TestWordSpout(), 10);
    // ExclamationBoltを"word"から情報を受け取る形で設定
    builder.setBolt("exclaim1", new ExclamationBolt(), 3)
        .shuffleGrouping("word");
    // ExclamationBoltを"exclaim1"から情報を受け取る形で設定
    builder.setBolt("exclaim2", new ExclamationBolt(), 2)
            .shuffleGrouping("exclaim1");

つまりは、下記のようなTopologyを作ると宣言しているわけですね。

これが基本で、後はBoltにデータを渡すときにグルーピングしたりする形になってきます。

以上でStormの構成3要素、Spout、Bolt、Topologyの説明基本は完了です。
次は、何を書いてみましょうかね。。。