JSONICとSlim3 DatastoreによるREST APIサービス
JSONベースのRESTサーバにJerseyを使っているのですが、App Engineの実環境ではspin-up timeが長いので困っていました。mixiアプリの表示に10秒もかかると見る気が失せてしまいます。
そこで、JSONICのWeb Service Servletを使ってみました。POJOをJSONで返す簡単なサービスをデプロイして検証してみました。
Date | Request path | Status | Response time | CPU time | Transfered |
---|---|---|---|---|---|
02-18 05:52AM 39.984 | /my/Index | 200 | 1354ms | 934cpu_ms | 0kb |
02-18 05:52AM 44.009 | /my/Index | 200 | 19ms | 17cpu_ms | 0kb |
02-18 05:54AM 12.256 | /my/Index | 200 | 21ms | 18cpu_ms | 0kb |
02-18 05:55AM 29.644 | /my/Index | 200 | 19ms | 0cpu_ms | 0kb |
02-18 06:05AM 35.049 | /my/Index | 200 | 953ms | 880cpu_ms | 0kb |
起動時にクラスやアノテーションをスキャンしないのでspin-up timeは短いです。ただし、実行時にスキャンが走るため、複雑なオブジェクトをJSONに変換するとレスポンス時間は長くなると考えられます。
JSONICはSlim3 Datastoreと組み合わせることも可能です。Song of Cloud: Slim3 Datastoreに乗り換える(2)を参考にしてください。REST APIサーバはJSONICとSlim3 Datastoreの組み合わせが最強と思います。