|
|
@@ -1,32 +1,114 @@
|
|
|
# kern -- модульные компоненты
|
|
|
|
|
|
-**kern** позволяет строить проекты на модульном принципе. Этот принцип позволяет бесшовно переходить от модульного монолита к модульным микросервисам. Первый подход (монолит) удобен в стартапах. Второй подход удобен, когда понятно, какие части масштабировать.
|
|
|
+**kern** позволяет строить проекты на модульном принципе. Этот принцип позволяет бесшовно переходить от модульного монолита к микросервисам. Первый подход (монолит) удобен в стартапах. Второй подход удобен, когда понятно, какие части масштабировать.
|
|
|
|
|
|
-## Состав проекта
|
|
|
+---
|
|
|
|
|
|
-### Ядро
|
|
|
+## 🎯 Что это?
|
|
|
|
|
|
-- [Алиасы](./alias.md)
|
|
|
-- [Типы (интерфейсы)](./types.md)
|
|
|
-- [Шина](./bus.md)
|
|
|
-- [Контекст ядра](./all_context.md)
|
|
|
-- [Модули](./modules.md)
|
|
|
-- [Монолит](./monolit.md)
|
|
|
-- [Сервер HTTP](./server_http.md)
|
|
|
-- [Хранилище key-value](./stjre_kv.md)
|
|
|
+kern — фреймворк для создания модульных компонентов ядра с высокой надёжностью. Он поддерживает эволюцию от модульного монолита к микросервисной архитектуре без потери производительности или надёжности.
|
|
|
|
|
|
-## Компоненты
|
|
|
+### Ключевые принципы
|
|
|
|
|
|
-- (Помощники)(./helpers.md)
|
|
|
-- (Локальный контекст)(./local_ctx.md)
|
|
|
-- (Буфер логирования)(./log_buf.md)
|
|
|
-- (Потокобезопасный реактивный `bool`)(./safe_react_bool.md)
|
|
|
-- (Потокобезопасный `int`)(./safe_int.md)
|
|
|
-- (Потокобезопасный `string`)(./safe_string.md)
|
|
|
+- **Модульность** — изолированные компоненты с чёткими границами
|
|
|
+- **Надёжность** — 100% покрытие тестами, strict типизация
|
|
|
+- **Эволюция** — монолит → микросервисы без больших refactors
|
|
|
+- **Документация** — прямые и обратные ссылки между материалами
|
|
|
|
|
|
-## Модули
|
|
|
+---
|
|
|
|
|
|
-- [Модуль контекста ядра](./module_kern_ctx.md)
|
|
|
-- [Модуль сторожа ядра](./module_kern_keeper.md)
|
|
|
-- [Модуль сервера HTTP](./module_serv_http.md)
|
|
|
-- [Модуль веб-интерфейса](./module_web_interface.md)
|
|
|
+## 📦 Ядро
|
|
|
+
|
|
|
+Базовые компоненты и интерфейсы для построения надёжных микросервисов.
|
|
|
+
|
|
|
+### Состав проекта
|
|
|
+
|
|
|
+- [**Алиасы**](./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---модульные-компоненты)**
|