Build 2015 落ち穂拾い - Azure Service Fabric -
まとめ Azure Service Fabric のセッションを聞きました。アーキテクチャーは相当素晴らしいと思いますが、いかんせん WCF っぽかったり、この実装がスタンダードになるにはちょっと難しいかなという感じはしました。 スライドを見たコメントをつけていますが、私の英語力の限界もあり、そうとう間違った解釈もしていると思いますのでご容赦ください。 このボリュームは落ち穂拾いどころじゃないので、別にまとめるべきだったなぁ。。。 セッション感想 Microsoft Azure Service Fabric Architecture (Channel 9)channel9.msdn.com f:id:nnasaki:20150503144813p:plain f:id:nnasaki:20150503145044p:plain f:id:nnasaki:20150503145106p:plain マイクロサービスのステートレスとステートフル f:id:nnasaki:20150503145518p:plain ステートレスのデモ f:id:nnasaki:20150503145737p:plain うーん。ここまで見てきたけど、イマイチピンと来ないのと英語がよく聞き取れないのでここまで。 Building Resilient, Scalable Services with Microsoft Azure Service Fabric (Channel 9)channel9.msdn.com f:id:nnasaki:20150503152027p:plain 前半は同じような話なので飛ばす。 f:id:nnasaki:20150503152211p:plain デモの英語がインド系だけどコードがまだ何とかわかるので、こっちを見てみる Actor を使ったデモ。 インクリメンタルするカウンターがプリミティブなフィールド。 f:id:nnasaki:20150503152339p:plain こんな感じで無限ループでカウントアップさせていくよう f:id:nnasaki:20150503152511p:plain 実行するとカウントアップする f:id:nnasaki:20150503152736p:plain ノードをリスタートすると。。。 f:id:nnasaki:20150503152852p:plain カウンターがリセットされる f:id:nnasaki:20150503152930p:plain ではどうすればステートが保持されるか? シリアライザブルなクラスを追加し、Actorのジェネリクスに追加する f:id:nnasaki:20150503153226p:plain this.value ではなく、 this.State.value の値を使う。Actor が持っているっぽい。 f:id:nnasaki:20150503153416p:plain デプロイしてブレイクポイントにも止まります。 f:id:nnasaki:20150503153632p:plain 先ほどのノードが1つだったのが3つに増えている。プライマリーとセカンダリーが2つ。特に設定はしておらず、自動的になった。 f:id:nnasaki:20150503153748p:plain 先ほどと同じように Node4 にリスタートをかけるとプライマリーノードがダウン。即セカンダリーにフェールオーバー。また、Node4 がセカンダリノードとして復活。 f:id:nnasaki:20150503153936p:plain f:id:nnasaki:20150503154057p:plain f:id:nnasaki:20150503154347p:plain カウンターが途切れること無く続行(拍手) 。フェールオーバーまで3秒もかかっておらず、素晴らしい。 ...