Cinderella API v2

Issue #19 resolved
imcgborder repo owner created an issue

Cinderella API v2 実装計画

v2 のねらい

  • v1 の利用状況を踏まえた改善をしたい。
  • v1 でイケていない部分を直したい。

v1 から直したい点

  • パラメータ不足時に 404 NotFoud だけが返るのではなく、別の status code (400とか) にした上で、NG事由が返るようにする。現状、なにか問題で取得できないのか単にデータがないのかわからない。
  • 利用状況を踏まえ、頻繁にアクセスされるAPIは積極的にキャッシュする。
  • 逆にあまり利用されていないAPIはキャッシュせずに Redis のメモリ空間を有効活用する。
  • Key名称がID等になっている IDictionary 形式の object をやめて、IList(arraylist) 形式に統一する。jqコマンドとかで扱いづらい。
  • プロデューサー全量のような非現実的な分量のクエリ発行が行えないようにする。Kestrel直接アクセスのときは速攻で4xxが返されていたが、現状は発行されるたびにnginxが頑張っている。

v2 で追加したい新API

  • ユーザの時速
  • フリートレード履歴
  • カード検索機能の向上(特にダブル特技)

v1 はどうするか?

  • v1 をすぐに使えなくする必要はない。(わざわざ潰さなければならない火急の事由はみあたらない)
  • v1/v2両方を今後サポートするのはshindoiので、v1はdeprecated扱いにしたい。もし動かなくなったらそれまで。
  • ただし負荷が高い producer 取得処理などには limit を設けておきたい。もし破壊的変更に耐えられないなら v2 使ってね☆ のスタンスにする。どっちにせよ残しておくと nginx が今後も無駄に頑張ることになる。

Comments (5)

  1. Log in to comment