2014年11月10日

サーバアフィニティ機能は、Webサイトサービスにあり、Cloudサービスにはない

Azure では、ロードバランサによりサーバの台数が自由に増やせます。(当然、課金されていくので要注意)

Web サイトサービスでは、サーバアフィニティという機能により、ロードバランサを通過した後、自動的に最初にアクセスしたサーバに接続されるそうです。このため、Session 変数に保存した値を、正しく参照することができます。調べたところ、Affinity という名前のクッキーを発行していて、このおかげで目的のサーバに正しく接続されるようです。詳細は、Web サイトサービスの内部動作アーキテクチャあたりを参照のこと。

一方、Cloud サービスは、サーバアフィニティ機能が働かないため、同じ名前で参照される複数のサーバを用意しても、ロードバランサによりランダムに振り分けられるだけで、同じサーバをアクセスしませんでした。Could サービスでもアフィニティ機能があると便利なんですけど、用意しないには理由があるのでしょうか。サーバを固定させない方が信頼性があがるからなのですかね。IIS の Application Reverse Proxy 機能 を使えば、アフィニティ機能を自分で作れるみたいですが、ロードバランサで複数に振り分けられるため、キャッシュ等で情報を共有しなければならなくなります。自分で作ると、現在の Clould サービスの最初のロードバランサで振り分ける意味がなくなってしまいます。どうするのがベストなのか皆さんどうしているのでしょうね。
posted by 開発G at 15:32| Comment(0) | TrackBack(0) | Azure

2013年12月19日

Azure SQL でクエリを実行する際の注意事項

SQL Server Management Studio で作成した、テーブル作成クエリをそのまま Azure SQL で実行しても次のようなエラーが出て動かない。

'Filegroup reference and partitioning scheme' is not supported in this version of SQL Server.

そこで、CREATE INDEX で次の3項目を削除してから、、、

PAD_INDEX
ALLOW_ROW_LOCKS
ALLOW_PAGE_LOCKS

さらに、

ON [PRIMARY]部分についても消すと正常に実行できた。
タグ:メモ
posted by 開発G at 15:03| Comment(0) | TrackBack(0) | Azure