Глядя на демонстрацию sse-chat Clojure Pedestal Framework, основанный на функциях 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)