Skip to content

Latest commit

 

History

History
37 lines (27 loc) · 3.92 KB

README.md

File metadata and controls

37 lines (27 loc) · 3.92 KB

Буфер для данных.

Это пакет для хранения байтовых данных. Буфер реализует интерфейс io.ReadWriteCloser, через свой собственный интерфейс Buffer который доступен в контейнере объектов.

Буфер состоит из 3-х компонентов, который реализует каждый свою стратегию хранения данных:

Хранение данных комбинированным методом.

Как следует из названия, хранит данные и в памяти и в файле, автоматически переключая место хранения, основываясь на показателе компонента "сканер занятой памяти", так же, при получении сигнала на закрытие приложения от компонента "отслеживание сигнала на закрытие приложения" сбрасывает все данные, которые хранились и оставались в памяти, в файл.

Выбор стратегии хранения данных.

Выбор стратегии осуществляется через файл конфигурации:

type Config struct {
	Strategy      string
	NameForMetric string
}

Описание полей:

Поле Описание Значение по умолчанию Доступные значения
Strategy Стратегия хранения данных, этот параметр может быть передан одним из 3-х методов:
- флаг командной строки --buffer.strategy
- переменная окружения BUFFER_STRATEGY
- значение в конфиг файле buffer.strategy
combination - memory - хранения данных только в памяти;
- file - хранения данных только в файле;
- combination - комбинированная стратегия хранения.
NameForMetric Имя буфера в метриках, устанавливает в ручную, должно быть установлено на этапе конфигурирования приложения, до создание объекта буфера

Дополнительные компоненты.