検討事項
- 表現力がどれくらいあるか(型、デフォルト、オプショナル)
- 設定を書きやすいか(コメントなど)
- 仕様を記述できるか(スキーマを記述する方法があるか)
- スキーマの検証ができるか
| 【configを動的に再変更できたほうがいいか否か】 | |
| - できたほうがいい | |
| - メリット | |
| - 設定変更の自由度があがる | |
| - 設定調整、実験、評価がやりやすくなる | |
| - プロセス再起動なしで状態を初期化できる | |
| - デメリット | |
| - 同一インスタンスのサーバで設定の一貫性を保証、もしくは一貫性がないことに対処できる仕組みが必要になる | |
| - それに伴い、正常なサービスを提供できなくなる可能性がある 例:サーバが停止する、サーバが誤った結果を返す | |
| - 以下の【課題】の部分に相当 |
| 【やりたいこと】 | |
| - 分散環境で、同じnameを持つサーバは同じconfigを持つ。 | |
| - サーバは途中から参加することがある。 | |
| - クライアントからconfigを変えることが出来る。 | |
| 【configの与え方をどうするか?】 | |
| - RPCで与える | |
| - 設定を変える場合は、set_config | |
| - 途中から参加する場合もset_config | |
| - すべての設定が同じ事は、ユーザの責任にする。 |
| import classifier_types | |
| import msgpackrpc | |
| class classifier: | |
| def __init__ (self, host, port): | |
| address = msgpackrpc.Address(host, port) | |
| self.client = msgpackrpc.Client(address) | |
| def set_config (self, arg0, arg1): |