From 6f837065541a3f50ee81a89affafe0b5ff1db744 Mon Sep 17 00:00:00 2001
From: anoadragon453 Synapse has a concept of "streams", which are roughly described in Synapse has a concept of "streams", which are roughly described in Synapse
@@ -124,10 +124,10 @@
-
+
-
+
diff --git a/latest/development/synapse_architecture/faster_joins.html b/latest/development/synapse_architecture/faster_joins.html
index c204c2a646..ce7c0cb5af 100644
--- a/latest/development/synapse_architecture/faster_joins.html
+++ b/latest/development/synapse_architecture/faster_joins.html
@@ -115,7 +115,7 @@
-
+
Synapse
@@ -124,10 +124,10 @@
-
+
-
+
diff --git a/latest/development/synapse_architecture/streams.html b/latest/development/synapse_architecture/streams.html
index b7d51c6f29..9b8fb5f8b7 100644
--- a/latest/development/synapse_architecture/streams.html
+++ b/latest/development/synapse_architecture/streams.html
@@ -115,7 +115,7 @@
-
+
Synapse
@@ -124,10 +124,10 @@
-
+
-
+
@@ -160,7 +160,7 @@
Streams
-id_generators.py
.
+id_generators.py
.
Generally speaking, streams are a series of notifications that something in Synapse's database has changed that the application might need to respond to.
For example:
@@ -168,9 +168,9 @@ For example:
See synapse.replication.tcp.streams
for the full list of streams.
See synapse.replication.tcp.streams
for the full list of streams.
It is very helpful to understand the streams mechanism when working on any part of Synapse that needs to respond to changes—especially if those changes are made by different workers.
-To that end, let's describe streams formally, paraphrasing from the docstring of AbstractStreamIdGenerator
.
AbstractStreamIdGenerator
.
A stream is an append-only log T1, T2, ..., Tn, ...
of facts1 which grows over time.
Only "writers" can add facts to a stream, and there may be multiple writers.