分散プログラミングについての説明

1028 ワード

分散プログラミングについての説明
@(ブログ記事)[java|ビッグデータ]
分散システムでは、複数のマシン、複数のプロセスが同時にプログラムを実行しているため、それらの間で異なるJVMで実行されているため、それらの間の変数は共有できません.
stormを例にとると、プライマリ・プログラムに変数が設定されている場合、たとえば
 topoName = args[0];

boltでこの変数を取得することは不可能です.この変数は現在のJVMにしか保存されていないからです.したがって、boltでもこの変数を使用する場合は、次のような分散システムによって提供される共有パラメータに入れる必要があります.
config.put(Config.TOPOLOGY_NAME, topologyName);

次にboltのprepare()メソッドでこのパラメータを取得します.
    @Override
    public void prepare(Map conf, TridentOperationContext context) {
        String topoName = (String) conf.get(Config.TOPOLOGY_NAME);
   }

他の分散システムも似ていますが、main関数でパラメータが定義されていると思ってはいけません.どこでも使用できます.このJVM内でしか使用できません.