19 ポイント 投稿者 xguru 2023-10-17 | 5件のコメント | WhatsAppで共有
  • クライアント接続を維持してくれるプロキシサーバーで、どんな言語/フレームワークとも簡単に連携可能
  • リアルタイムAPIエンドポイントを簡単に作成可能
  • HTTPストリーミング/ロングポーリング、WebSocketをサポート
  • クライアントにはまったく気づかれずに(transparent)利用可能
  • KONG、3SCALE のようなAPI管理ツールでリアルタイムエンドポイントを管理可能
  • Rust & C++ で書かれている

5件のコメント

 
nemorize 2024-02-11

2か月ほど使ってみました。

PHPのようにリアルタイム処理が難しい環境では、大きなメリットを感じました。別途リアルタイムサーバーを書かなくていいという一点だけでも、かなり魅力的です。
特に一般的なPHPプロジェクトでは、リアルタイムエンドポイントの認証のために複雑な(面倒な)データ交換をせず、認可されたユーザーにだけ Grip ヘッダーを渡せばよいので、ビジネスロジックにもう少し集中できました。

PHPと違って、リクエストをずっと保持していても問題のない(?)他の言語では、直接リアルタイムエンドポイントを開いて使うのに比べて大きなメリットは感じませんでしたが……

認証手順やスケーリングに関する面では、理論上はかなり利点の多いソリューションだと思います。

……ただ、なぜ「理論上は」という修飾語が付くのかというと、ソリューション自体がやや不安定です。特に、このソリューションで最も重要な部分と言っても過言ではないプロキシサーバーがかなり不安定です。

わざわざバグを探しに行ったわけではありませんが、私の設定では POST リクエストが入ると、その後のリクエストはしばらく全部死んでしまいました。
GET リクエストについてだけ、特に Accept ヘッダーが SSE のときだけ pushpin に向かうように、プロキシサーバーをもう1段置くことで解決(???)しましたが、まだ時期尚早な気がします。トイプロジェクト用途に限る、といったところでしょうか……

ともあれ、プロダクション用途で使うには問題点が多いものの、アイデア自体はかなり良い、くらいにまとめられそうです。

 
xguru 2024-02-13

わあ、良いレビューありがとうございます。

 
galadbran 2023-10-17

うーん……これ、魔法みたいでもあるけど、既存の普通のWeb APIにこれをくっつけて何に使うのか?という疑問が解消されないですね…… 泣

 
kuroneko 2023-10-17

APIリクエストがだんだん増えてきて少し悩んでいたのですが、こういうプログラムを使ってみるのも一つの方法ですね。+_+

 
xguru 2023-10-17

名前に見覚えがあると思ったら、PushPin - Local-first リアルタイムコラボレーションツール と同じ名前ですね。
しかし、これはまったく別のソリューションです。

Thoughtworks Technology Radar, Volume 29 でも、フレームワーク分野で Trial してみる価値のある技術として選ばれています