Dendrite is matrix homeserver written in go.
It is a rewrite of synapse that was written in Python which could not scale.
- You don't need to run Kafka unless working on distributed stuff.
- Dendrite is composed of several microservices (room server, sync api, media api...).
- Kafka is used to transfer messages between those microservices.