タグ

ブックマーク / hidemon.hatenadiary.jp (6)

  • App Engine Backend - hidemonのブログ

    1.5.0 からサポートされるようになった(比較的)新機能のBackendについてまとめておく。 Backendとは AppEngineのようなスタイルのクラウドでは複数の不特定多数のユーザが資源を共有するため、一人のユーザが他のユーザに対して与える影響を予測可能な範囲におさめなければならない。このため、一人のユーザに提供する資源に量的な制約を加える必要がある。AppEngineでは、この制約は典型的に「30秒ルール」に現れている。30秒ルールとは、Webアプリケーションとして稼働するサーブレットの実行時間が30秒に限定されていること。30秒を超えると打ち切られてしまう。2010年12月の1.4.0で、タスクキューやCronに関しては10分まで許されるようになったが、それでも、限界があることにはかわりがない。 Backendは、このような縛りのない実行を実現する。実行のトリガーはWebアク

    App Engine Backend - hidemonのブログ
    bufferings
    bufferings 2011/08/23
    #gaeja
  • Google App Engine 1.4.3 - hidemonのブログ

    安定してバージョンアップを続けるApp Engine. 1.4系も4つめとなる1.4.3がでた。今回もいくつか面白そうなものが。 Prospective Search Python版のみ。簡単なストリームコンピューティングができる。通常のデータストアに対する検索は、データが蓄積されているところにクエリを投げて答えを得るが、Prospective Searchではこのデータとクエリの関係が逆転していて、クエリをいくつか蓄積しておいてそこにデータを通す。データがクエリの条件にマッチしていると、結果が帰ってくる、という仕掛け。 これって、App Engine Ja Night 12 でお聞きした、Matcher API ですよね? ストリームコンピューティングはいまちょっと流行ってるけど、この仕掛けでどの程度のことができるのか調べないと。 Concurrent Requests Java 版のみ

    Google App Engine 1.4.3 - hidemonのブログ
  • High replication option for App Engine - hidemonのブログ

    ずいぶんさぼってしまって、1.4.1もリリースされるというのにちゃんとフォローできていないのだけど、これはちょっと面白いので書いておこう。App Engineにhigh replication optionが追加された。 High Replication Option App Engineでは、通常マスタ・スレーブ型でバックアップを取っていた。ユーザのデータはマスタのデータセンターに書きこまれ、さらに背後にあるスレーブのデータセンターにコピーされる。このコピーは非同期に行われるので、書き込みにはそれほど時間がかからない作りになっている。そのかわり、スレーブでの書き込みがすぐに成功するとは限らないので、スレーブに書き込む前にマスタが落ちてしまうと、データが巻き戻ってしまうことがありうる。 これに対してHigh replication optionを使うと、より多数のデータセンターに対して同時

    High replication option for App Engine - hidemonのブログ
    bufferings
    bufferings 2011/01/07
    #appengine
  • すっきりわかるGoogle App Engine for Javaクラウドプログラミング - hidemonのブログ

    宣伝です。拙著がようやく形になりました。AppEngineのはすでにたくさんあるのですが、1.3.4までをカバーしているものは、(まだ)ないのではないかと思います。 各APIに関してはなるべくそのまま利用できるサンプルを多く含むようにしたつもりです。サンプルは、サポートページからダウンロードできるようになっています。今後のバージョンアップにも追従していく予定です。 このブログで書いていたことと一部重複していますが、どうかひとつ。 すっきりわかるGoogle App Engine for Java クラウドプログラミングposted with amazlet at 10.06.30中田 秀基 ソフトバンククリエイティブ 売り上げランキング: 33083 Amazon.co.jp で詳細を見る

    すっきりわかるGoogle App Engine for Javaクラウドプログラミング - hidemonのブログ
  • Cursorをつかったページング - hidemonのブログ

    1.3.1までは,データストアからの読み出し個数が1000個以下に限られていた.なので,1000個以上のデータを取り出すときに,rangeを使ってやろうとするとうまく動かなかった.というのは,range(990, 1010) とやると,0から1100までのキーをとりだして,その後,990から1010までの中身を取りに行く,という実装なので,0から1100までのキーを取りだすという時点で,落ちてしまうからだ.また,そもそも20個だけ読みたいのに,1100個キーを取りだしてしまうので非効率. これまでの方法 そこでよく知られているテクが,これ.条件式を組み合わせることで,rangeのオフセットを常に0にしたままスキャンする方法.このサンプルはPythonだけど,JDOで書いてもそのまま動く. 1.3.1 ところが,1.3.1になって事情が変わった.1000個の制約が無くなったので,とりあえず性

    Cursorをつかったページング - hidemonのブログ
  • App EngineのLogをXMPPで飛ばす. - hidemonのブログ

    Log をリアルタイムで見たい App Engineにはよくできたログコンソールがあり,フィルタリングとかもできるのだが,Webベースの悲しさ,必ずリロードしなければ最新の情報をみることができない. これを解決する素晴らしい記事がこちら.叢雲の歌:XMPPを使ったログの通知.LoggerのAppenderとしてXMPPメッセージを投げるものを作り,それを使ってすべてのログをIMで飛ばす.具体的には,GmailのChatウィンドウで読めるようになる. こりゃ便利. java.util.loggingでできないか こちらの記事では,ロギングライブラリとして,sl4jとlogback-classicを使っている.これをなんとか,AppEngine 標準のjava.util.loggingライブラリを使ってできないかというのを試してみた. 結論から言うと,できない.っていうか,できるんだけどすごく

    App EngineのLogをXMPPで飛ばす. - hidemonのブログ
  • 1