# kern -- модульные компоненты

**kern** позволяет строить проекты на модульном принципе. Этот принцип позволяет бесшовно переходить от модульного монолита к модульным микросервисам. Первый подход (монолит) удобен в стартапах. Второй подход удобен, когда понятно, какие части масштабировать.

## Состав проекта

### Ядро

- [Алиасы](./alias.md)
- [Типы (интерфейсы)](./types.md)
- [Шина](./bus.md)
- [Контекст ядра](./all_context.md)
- [Модули](./modules.md)
- [Монолит](./monolit.md)
- [Сервер HTTP](./server_http.md)
- [Хранилище key-value](./stjre_kv.md)

## Компоненты

- (Помощники)(./helpers.md)
- (Локальный контекст)(./local_ctx.md)
- (Буфер логирования)(./log_buf.md)
- (Потокобезопасный реактивный `bool`)(./safe_react_bool.md)
- (Потокобезопасный `int`)(./safe_int.md)
- (Потокобезопасный `string`)(./safe_string.md)

## Модули

- [Модуль контекста ядра](./module_kern_ctx.md)
- [Модуль сторожа ядра](./module_kern_keeper.md)
- [Модуль сервера HTTP](./module_serv_http.md)
- [Модуль веб-интерфейса](./module_web_interface.md)
