FrontPage

疑問

  • 以下の用語を区別して例を含めて書く

冪等

  • 冪等性とは、ある操作を1回行っても複数回行っても結果が同じということ
    • よく例にあげられるのは、i = 0 と i = i + 1 である。
var i = 0; // i は必ず 0 になる:冪等性が保たれる
// 実行する度に i が 1 足される。(実行回数によって、 i の値が変わってしまう)
// :冪等性が保たれない
i = i + 1 
  • 他に例を挙げるなら、 copy も同様である。
copy a.txt b.txt # copy できた
copy a.txt b.txt # 既に b.txt があるため、copy できない overwrite b.txt? (y/n [n])
  • なぜこの動作が大切?GET, DELETEが冪等であるべき。

注: ハンドラをべき等にするかどうか検討する必要があります。Cloud Tasks は「少なくとも 1 回」処理を行うように設計されています。つまり、タスクが正常に追加された場合、キューはそれを少なくとも 1 回配信します。まれに複数のタスクが実行されることもあるので、繰り返し実行されても有害な副作用が生じないように注意してください。←これはまじで重要な制約

APIライブラリごとの制約

URLFetch

  • URLFetchはHTTPリクエストを送るためのライブラリ。GAE, GASの両方で提供されていて便利
  • URLFetchをあえて使う利点はほとんどないが、URLFetchのFetchAsync?()だったら使う価値あり。

ソケット通信

  • socket通信は主に外部DBがHTTPよりも低いインターフェースしか持っていない場合に使う
    • HTTPリクエストももとを正せばソケット通信だが、DBはなぜかそれより下位の仕組みを使っている

HTTP2

OpenAPI

gRPC

  • 多言語型
    • protoはプロトコルバッファでインターフェースを定義する。入出力の型と、どのような関数があるかを定義することができる。これによって、どんな言語で実装しても大丈夫になるのでいろいろと楽
  • gRPCのもちべ
    • もともとはStubbyというRPCを使っていたけど同等以上の機能が標準で出てきたので新しく作ろうという感じ
  • gRPCの特徴は
    • ローカル関数呼び出すような感じ

Cloud Endpoints

  • デプロイすると、「API とサービス」一覧に表示されます
    • Googleで発行したApiKey?認証をバックエンド(アプリ側)に実装せずに可能になります
    • アクセス制限が必要なAPIの場合「API とサービス」からAPIキーを発行してopenapi.yamlで定義すれば、アクセス制限が可能です
    • モニタリングやログの確認が画面上からできます
    • リクエスト数、レイテンシ、5xxエラー率など確認が可能です
    • デベロッパーポータルでopenapi.yamlをもとに作成されたAPIドキュメント自動作成機能

SOAP


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-15 (日) 19:20:14 (1594d)