🎉 Add msgbus abstraction.

As a replacement for the current pubsub approach.

It now uses a single connection for multiple
subscriptions (instead of conn per subscription);
has asynchronous publish and uses more efficient
blob encoding for message encoding (the same used
as page storage).
This commit is contained in:
Andrey Antukh 2021-02-12 16:01:59 +01:00 committed by Andrés Moya
parent 60f4f863df
commit 0f9b2923c2
8 changed files with 269 additions and 305 deletions

View file

@ -49,7 +49,7 @@
:app.telemetry/migrations
{}
:app.redis/redis
:app.msgbus/msgbus
{:uri (:redis-uri config)}
:app.tokens/tokens
@ -170,12 +170,12 @@
:tokens (ig/ref :app.tokens/tokens)
:metrics (ig/ref :app.metrics/metrics)
:storage (ig/ref :app.storage/storage)
:redis (ig/ref :app.redis/redis)
:msgbus (ig/ref :app.msgbus/msgbus)
:rlimits (ig/ref :app.rlimits/all)
:svgc (ig/ref :app.svgparse/svgc)}
:app.notifications/handler
{:redis (ig/ref :app.redis/redis)
{:msgbus (ig/ref :app.msgbus/msgbus)
:pool (ig/ref :app.db/pool)
:session (ig/ref :app.http.session/session)
:metrics (ig/ref :app.metrics/metrics)}