ブックマーク / zenn.dev/tady (2)

  • サクッとロングポーリングを試す

    お知らせのようなリアルタイム性が求められる(こともある)機能実装をしたい場合、 websocketやgRPCだと工数やアプリケーションの構成的にヘビーな場合があります 代替のシンプルな方法としてロングポーリングも頭の片隅に入れておきたいです お知らせを例にすると 1, clientはserverへ"お知らせ"を取得するためのhttpリクエストを行う 2, serverは新規の"お知らせ"があるまでレスポンスを返さず保留する 3, serverは新規の"お知らせ"を検知するとレスポンスを返す 4, clientはserverから"お知らせ"を受け取る 5, 1~4をループ というのがロングポーリングです メリットは、 ・ポーリングと比べてリアルタイム性が高いかつ、サーバーへの負荷が低い ・websocketやgRPCと比べると前提条件があまり無く、実装が容易 デメリットは、 ・HTTPコネク

    サクッとロングポーリングを試す
  • React + Golang + websocketでリアルタイムチャットアプリを作る -Part1/websocket編-

    はじめに websocketについて何となく理解していたものの、実際実装したことはありませんでした なので今回Client側にReact, Server側にGoを利用して、 1:Nでリアルタイムにテキストメッセージのやりとりができるシンプルなチャットアプリを作ってみます また、サーバーのスケールアウトにも対応できるようにRedisのPub/Subも取り入れます ※長くなったのでPub/SubはPart2にて! 利用する技術とか Client ・ React 18 ・ TypeScript ・ Vite ・ Recoil Server ・ Golang 1.18 ・ gorilla/websocket その他ミドルウェア ・ Docker,docker-compose ※Part1のソースコード全文はこちら Part1の最終的なディレクトリ構成はこんな感じ(一部省略) . ├── docke

    React + Golang + websocketでリアルタイムチャットアプリを作る -Part1/websocket編-
  • 1