odyssey: update documentation

This commit is contained in:
Dmitry Simonenko 2018-03-13 16:33:17 +03:00
parent fb07550d06
commit 1dde49fb6b
2 changed files with 6 additions and 6 deletions

View File

@ -31,7 +31,7 @@ Repository: [github/shapito](https://github.yandex-team.ru/pmwkaa/shapito).
| instance |
thread '----------'
.--------. .-------------.
| pooler | | worker_pool |
| system | | worker_pool |
'--------' '-------------'
.--------. .---------. .---------. .---------.
| router | | servers | | worker0 | ... | workerN |
@ -46,11 +46,11 @@ Repository: [github/shapito](https://github.yandex-team.ru/pmwkaa/shapito).
Application entry point.
Handle initialization. Read configuration file, prepare loggers.
Run pooler and worker\_pool threads.
Run system and worker\_pool threads.
[sources/instance.h](sources/instance.h), [sources/instance.c](sources/instance.c)
#### Pooler
#### System
Start router, cron and console subsystems.
@ -58,12 +58,12 @@ Create listen server one for each resolved address. Each listen server runs insi
Server coroutine mostly waits on `machine_accept()`.
On incoming connection, new client context is created and notification message is sent to next
worker using `workerpool_feed()`. Client IO context is detached from pooler `epoll(7)` context.
worker using `workerpool_feed()`. Client IO context is not attached to any `epoll(7)` context yet.
Handle signals using `machine_signal_wait()`. On `SIGHUP`: do versional config reload, add new databases
and obsolete old ones. On `SIGINT`, `SIGTERM`: call `exit(3)`. Other threads are blocked from receiving signals.
[sources/pooler.h](sources/pooler.h), [sources/pooler.c](sources/pooler.c)
[sources/system.h](sources/system.h), [sources/system.c](sources/system.c)
#### Router

View File

@ -41,7 +41,7 @@ Any log events and client error responces include the id, which then can be used
uniquely identify client and track actions. Odissey can save log events into log file and
using system logger.
#### Internals
#### Architecture and internals
Odissey has sophisticated asynchonous multi-threaded architecture which
is driven by custom made coroutine engine: [machinarium](https://github.yandex-team.ru/pmwkaa/machinarium).