Ken Games
Ken Games
HOMEBLOGCONTACTDONATION

Cloudflare&NextJSでAPIを作った話


最近、野球アプリでメジャーバージョンを1個あげました

これ、内部的に結構おおきな変更を加えています

今まではデータを更新する際にビルドを都度作成していました

Expoビルド(prebuild等)を使用しているので、普通のビルドより更新が楽なのですがそれでも手間に思うようになりました

そもそもデータはAPI側から返せば手間とロスタイムが減るので、今回CloudflareとNextJSでAPIを用意しました

成果物と導入した技術

  • データ更新する管理画面と、保存用APIの本体
    1. Cloudflare Workers
    2. Cloudflare KV
    3. NextJS
  • ReactNative側でAPIを叩いて、ついでにいい感じにキャッシュさせる
    1. TanstackQuery
  • 今回作ったシステム構図

    これ技術ブログではないので手順などは割愛します

    元々APIを用意してなかった大きな理由として、サーバーを用意するとランニングコストがかかる点で敬遠してました

    ですが、CloudflareWorkersのKVはめっちゃ使い込んでも無料枠が大きいです

  • 所感
    1. 更新の頻度が多いものに関しては無料で運用するのは厳しい(POST、PUTが多いと辛い)
    2. コールが多いエンドポイントで取得するデータに関してはAPIキャッシュにする(kv.list()を都度使うと破産する)
    3. KVの一覧取得は一度に1000件までが限界(KVをクエリごとに分けると大量のデータを扱えるハック)
  • このあたりが興味深いかなと思いました

    もちろん、有料プランに加入すると上記の項目は気にしなくて良くなるのですが、自分のテーマとして極力無料でサービスを運用することが重要なので、上記のところを注意して作成しました

    個人開発でデータを大量に扱いたい&でもお金は払いたくない人がいれば、ぜひおすすめしたいです

    ではでは。


    ブログトップへ戻る