大きく2つに分ける
- inputとoutputなどのIO系
- fitlerやrewriteなどの処理系
前者は誤ったらすごい勢いでワーニングでたり、先行・後続に影響だしたりするので、慎重にやりたい度ことが多いです。
後者は誤ってもデータが流れてこないとか、書き換えしくじっておかしな値になるとかという具合で、影響のスコープはわりと狭くできます。ただギョーム次第で大きく変わったり複雑になったりするので、手を入れることはとても多いです。
さらに分ける
つまりは、一般的なバッチ処理設計みたいなもので、意味のある単位に集約しましょうということ。
- 技術の問題か業務の問題か
技術的な問題なら、共通のconfつくってincludeすると捗ります。
業務的な問題なら、共通的な業務のパーツにみえて案外共通じゃなかった例がよくあるので、早すぎる最適化の罠にハマる位なら扱える範囲はベタに書いてもいいと思います。
- 業務の内容
- 業務の複雑度
- 他業務との関連度
(あとで書く)
(confを分けるのに加えて、Fluentdのプロセスを分けることにも踏み込んでいきたい)