From 16d31bce846c48cff0d1af96a1ef489ff5947b50 Mon Sep 17 00:00:00 2001 From: Daniel Cadenas Date: Tue, 12 Mar 2024 16:13:51 -0300 Subject: [PATCH] Update README.md with diagrams --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 89f27ed..07de483 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Nos Event Service + A service which crawls relays to replicate events relevant to Nos users which then get passed to other services e.g. the notification service or the moderation service. @@ -19,6 +20,12 @@ a set of bootstrap relays returned by The contacts are discovered by using the code located in [`ContactsExtractor`][contacts-extractor-search] to scan nostr events. +![Image](https://github.com/planetary-social/nos-event-service/assets/18184/5af04679-d5a6-4897-b08c-3cea9ecc1795) + +### Interaction with the notifications service + +![Image](https://github.com/planetary-social/nos-event-service/assets/18184/c725b066-0f35-4e61-9a4b-94f820dfbc05) + ### Internal sqlite pub sub In order to process events asynchroniously (which can take a while as we push them to our relay) there is an internal pubsub in place between `SaveReceivedEventHandler` and `ProcessSavedEventHandler`. We use a custom publisher and subscriber instead of the ones provided by Watermill so that we can process messages out of order. This helps if one of them gets stuck. The metrics for this pubsub are reported and can be seen in Grafana.