Pedestal のSSE 機能に依存するClojure Pedestal Framework のsse-chatデモを見ると、次のコードに気付きました。
(defn publish
[request]
(doseq [sse-context @subscribers]
(try
(sse/send-event sse-context "message" (-> request :form-params (get "msg")))
(catch java.io.IOException e
(remove-subscriber sse-context))))
{:status 204})
基本的に、これはサブスクライバーのマップ (EventSource クライアントのマップ) を保持し、チャット イベントをサブスクライバーに送信します。
私の質問は、このアプリケーションを複数のサーバーにスケーリングしたいとします。これを行うための偶像的なパターンは何ですか? (できればClojure Pedestalで - しかし、Javaスペクトル全体からのソリューションになる可能性があります)