APIクライアント開発Basics

APIクライアントおよびその開発に関わるTopicをまとめる.

Index

🔖レスポンス速度改善

サーバローケーションの特定

🔖API レート制限

API制限, API Rate limit.


💡http status=429: Too Many Requests

🔖HTTP Status Codeのなかでアクセスか多い場合のCode.

In case a client made too many requests within a given time frame, HTTP servers can respond with status code 429: Too Many Requests.

retry-afterで再試行までの時刻がわかる.

HTTP/2 429 date: Thu, 29 Feb 2024 03:51:38 GMT retry-after: 300

Rate Limit対策

レート制限回避ベストプラクティス

リトライ処理

📝Exponential Backoff

単純なdelayではなく1,2,4,8… のような指数関数でdelayするのがベストプラクティス.

流量管理

rate limiter

rate limit 関連のライブラリ

検索ワード

  • rate limiter
  • debouncing
  • throttle

Topics

Wrapper APIライブラリ

APIクライアントライブラリにさらに機能追加したAPIクライアントライブラリ.

🎓ラッパー(Wrapper Pattern)

💡APIクライアントライブラリのレベルと責務(high level/low level/lightweight)

APIクライアントライブラリにはよく重さ(薄さや厚さ)の表現がされる(lightweight).

また, high level/low levelという議論もある.

それはそのライブラリの設計方針がどのレベルをサポートするかによる.

  • Native APIを叩く.
  • レスポンスハンドリング.
  • レスポンスパース(DTO/Object Mapper).
  • 例外処理.
  • Native APIを組み合わせた機能提供.