Merge pull request #199 from chihaya/arch-desc
readme: add architecture section
This commit is contained in:
commit
0e125b8a71
1 changed files with 17 additions and 0 deletions
17
README.md
17
README.md
|
@ -25,6 +25,23 @@ Differentiating features include:
|
||||||
[YAML]: http://yaml.org
|
[YAML]: http://yaml.org
|
||||||
[Prometheus]: http://prometheus.io
|
[Prometheus]: http://prometheus.io
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
### Diagram
|
||||||
|
|
||||||
|
Coming Soon
|
||||||
|
|
||||||
|
### Description
|
||||||
|
|
||||||
|
BitTorrent clients send announce and scrape requests to a _Frontend_.
|
||||||
|
Frontends parse requests and write responses for the particular protocol they implement.
|
||||||
|
The _TrackerLogic_ interface to is used to generate responses for their requests and optionally perform a task after responding to a client.
|
||||||
|
A configurable chain of _PreHook_ and _PostHook_ middleware is used to construct an instance of TrackerLogic.
|
||||||
|
PreHooks are middleware that are executed before the response has been written.
|
||||||
|
The final middleware in a chain of PreHooks ensures the existance of any required response fields by reading out of the configured implementation of the _Storage_ interface.
|
||||||
|
PostHooks are asynchronous tasks that occur after a response has been delivered to the client.
|
||||||
|
Request data is written to storage asynchronously in one of these PostHooks.
|
||||||
|
|
||||||
## Production Use
|
## Production Use
|
||||||
|
|
||||||
### Facebook
|
### Facebook
|
||||||
|
|
Loading…
Add table
Reference in a new issue