# kern -- модульные компоненты **kern** позволяет строить проекты на модульном принципе. Этот принцип позволяет бесшовно переходить от модульного монолита к микросервисам. Первый подход (монолит) удобен в стартапах. Второй подход удобен, когда понятно, какие части масштабировать. --- ## 🎯 Что это? kern — фреймворк для создания модульных компонентов ядра с высокой надёжностью. Он поддерживает эволюцию от модульного монолита к микросервисной архитектуре без потери производительности или надёжности. ### Ключевые принципы - **Модульность** — изолированные компоненты с чёткими границами - **Надёжность** — 100% покрытие тестами, strict типизация - **Эволюция** — монолит → микросервисы без больших refactors - **Документация** — прямые и обратные ссылки между материалами --- ## 📦 Ядро Базовые компоненты и интерфейсы для построения надёжных микросервисов. ### Состав проекта - [**Алиасы**](./alias.md) — пользовательские типы для усиления типизации - [**Типы (интерфейсы)**](./types.md) — интерфейсы для ослабления зацепления - [**Шина**](./bus.md) — реактивная шина сообщений - [**Контекст ядра**](./all_context.md) — центральный контекст для компонентов - [**Модули**](./modules.md) — структура модульной архитектуры - [**Монолит**](./monolit.md) — подход модульного монолита - [**Сервер HTTP**](./server_http.md) — встроенный HTTP-сервер - [**Хранилище 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) — HTTP-сервер - [**Модуль веб-интерфейса**](./module_web_interface.md) — веб-интерфейс --- ## 🔗 Обратные связи ### Из ядра - [**Ядро**](#ядро) → [**Компоненты**](#компоненты) - [**Ядро**](#ядро) → [**Модули**](#модули) ### Из компонентов - [**Помощники**](./helpers.md) → [**Ядро**](#ядро) ### Из модулей - [**Модуль контекста**](./module_kern_ctx.md) → [**Ядро**](#ядро) - [**Модуль HTTP**](./module_serv_http.md) → [**Сервер HTTP**](./server_http.md) --- ## 📚 Дополнительные материалы - [Типы интерфейсов](./types.md) — интерфейсы для ослабления зацепления - [IDictTopicServe](./idict_topic_serve.md) — кастомный обработчик входящих запросов --- ## 📖 Навигация ### Быстрый старт - [Начните здесь →](#кern---модульные-компоненты) - [Ядро →](#ядро) - [Компоненты →](#компоненты) - [Модули →](#модули) ### Для разработчиков - [Архитектура →](#ядро) - [Типизация →](./types.md) - [Модульность →](./modules.md) ### Для администраторов - [Контекст →](./all_context.md) - [Логирование →](./log_buf.md) - [HTTP сервер →](./server_http.md) --- ## 🔄 Обновления - **v4** — текущая версия - **v3** — предыдущая версия **[Вернуться наверх ↑](#кern---модульные-компоненты)**