查看Clojure Pedestal框架的sse-chat演示- 它依赖于 Pedestal 中的SSE 功能- 我注意到以下代码:
(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 领域的解决方案)