3

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スペクトル全体からのソリューションになる可能性があります)

4

1 に答える 1