Хост процессов
Хост процессов
Заголовок раздела «Хост процессов»Хосты процессов управляют выполнением Lua-процессов с помощью планировщика с захватом работы (work-stealing).
Тип записи
Заголовок раздела «Тип записи»| Тип | Описание |
|---|---|
process.host | Хост выполнения процессов с планировщиком |
Настройка
Заголовок раздела «Настройка»- name: main_host kind: process.host host: workers: 8 queue_size: 1024 local_queue_size: 256 lifecycle: auto_start: true| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
workers | int | NumCPU | Количество воркеров (горутин) |
queue_size | int | 1024 | Размер глобальной очереди |
local_queue_size | int | 256 | Размер локальной очереди каждого воркера |
Планировщик
Заголовок раздела «Планировщик»Планировщик использует захват работы: у каждого воркера есть локальная очередь (deque), а простаивающие воркеры забирают задачи из глобальной очереди или у других воркеров. Это автоматически балансирует нагрузку.
- Воркеры выполняют процессы параллельно
- Глобальная очередь хранит ожидающие процессы, когда все воркеры заняты
- Локальные очереди уменьшают конкуренцию, держа работу ближе к воркерам
Типы процессов
Заголовок раздела «Типы процессов»Хосты выполняют записи следующих типов:
| Тип | Описание |
|---|---|
process.lua | Lua-процесс из исходного кода |
process.lua.bc | Предкомпилированный Lua-байткод |
process.wasm | WebAssembly-процесс (экспериментально) |
Процессы работают независимо со своим контекстом, общаются через сообщения и находятся под наблюдением для отказоустойчивости.
См. также
Заголовок раздела «См. также»- Модуль Process — запуск и управление процессами из Lua
- WASM-процессы — настройка записей
process.wasm - Модель процессов — концепции жизненного цикла и супервизии
- Супервизия — построение деревьев супервизии