Natively Pronounced Mandarin

    cyberway-core-service

    3.59.3 • Public • Published

    CORE-SERVICE

    CORE-SERVICE является набором корневых классов и утилит для микросервисов CyberWay.

    Основные возможности:

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

    • Виртуальный сервис для подписки на блоки, генерируемые блокчейном CyberWay.

    • Виртуальный сервис восстановления пропущенный блоков на случай если микросервис был перезапущен или произошло что-либо иное подобное.

    • Виртуальный сервис работы с базой данных MongoDB, используя Mongoose.

    • Виртуальный сервис связи микросервисов, позволяющий осуществлять двухстороннюю связь между микросервисами через HTTP, используя JSON-RPC, добавляя к этому возможность множественного ответа на единичный запрос JSON-RPC (например для подписки на что-либо).

    • Утилиты и обертки для работы со временем, логами и переменными окружения.

    • StatsD мониторинг.

    Набор ENV, которые можно определять для корневых классов:

    • GLS_CONNECTOR_HOST - адрес, который будет использован для входящих подключений связи микросервисов.
      Дефолтное значение - 127.0.0.1

    • GLS_CONNECTOR_PORT - адрес порта, который будет использован для входящих подключений связи микросервисов.
      Дефолтное значение - 3000

    • GLS_METRICS_HOST - адрес хоста для метрик StatsD.
      Дефолтное значение - 127.0.0.1

    • GLS_METRICS_PORT - адрес порта для метрик StatsD.
      Дефолтное значение - 8125

    • GLS_MONGO_CONNECT - строка подключения к базе MongoDB.
      Дефолтное значение - mongodb://mongo/admin

    • GLS_DAY_START - время начала нового дня в часах относительно UTC, используется для таких вещей как валидация "1 пост в сутки".
      Дефолтное значение - 3 (день начинается в 00:00 по Москве).

    • GLS_CYBERWAY_CONNECT - строка подключения к блокчейну CyberWay как клиент.

    • GLS_BLOCKCHAIN_BROADCASTER_SERVER_NAME - имя сервера рассыльщика блоков.

    • GLS_BLOCKCHAIN_BROADCASTER_CLIENT_NAME - имя клиента для подключения к рассыльщику блоков.

    • GLS_BLOCKCHAIN_BROADCASTER_CONNECT - строка подключения к рассыльщику блоков, может содержать авторизацию.

    • GLS_BLOCK_SUBSCRIBER_REPLAY_TIME_DELTA - дельта времени для реплея блоков при запуске, необходимо для восстановления пропущенных блоков.
      Дефолтное значение - 600000 (10 минут)

    • GLS_BLOCK_SUBSCRIBER_CLEANER_INTERVAL - интервал запуска систем очистки подписчика блоков.
      Дефолтное значение - 600000 (10 минут)

    • GLS_BLOCK_SUBSCRIBER_LAST_BLOCK_STORE - количество сохраняемых блоков из прошлого для подписчика на блоки.
      Дефолтное значение - 1000

    • GLS_SYSTEM_METRICS - включает логирование системных показателей системы для Prometheus.
      Дефолтное значение - false

    • GLS_EXTERNAL_CALLS_METRICS - включает метрики по исходящим запросами сервиса. Изначально собираются только метрики по входящим запросам.
      Дефолтное значение - false

    • GLS_USE_ONLY_RECENT_BLOCKS - режим при котором подписчик блоков не пытается скачать все пропущенные с последнего запуска блоки, а берет всегда текущие.
      (Применяется для разработки, чтобы не ждать все пропущенные блоки)
      Дефолтное значение - false

    • GLS_RECENT_BLOCKS_TIME_DELTA - параметр для найстройки режима GLS_USE_ONLY_RECENT_BLOCKS, выставляет на сколько времени в прошлое надо брать блоки.
      Дефолтное значение - 300000 (5 минут)

    • GLS_LOCAL_METRICS - переключает метрики с Prometheus на локальные, имеет два варианта значения: log и file, при log метрики будут выводиться каждые 30 секунд в консоль, при file будет писаться файл stats.txt в корень проекта каждый 2 секунды.
      Дефолтное значение - false

    • GLS_PRESERVE_LOCAL_METRICS - сохранять метрики прошлога запуска в файл stats-${TIMESTAMP}.txt
      Дефолтное значение - false

    • GLS_WAIT_FOR_TRANSACTION_TIMEOUT - таймаут ожидания транзакции при формировании блока (ms) Дефолтное значение - 300000 (5 минут)

    • GLS_SAVE_GENESIS_EXAMPLES - сохранять по одному примеру каждого вида genesis события в текущую папку.
      Дефолтное значение - false

    • GLS_NATS_MAX_IN_FLIGHT - выставляет значение MaxInFlight для коннектора nats.
      Дефолтное значение - 10

    • GLS_SKIP_MISSING_TRANSACTIONS - если нет транзакции в фиде просто логирует ошибку и продолжаем работу. Дефолтное значение - false

    • GLS_DB_LOGS_ENABLED - включает запись логов в базу данных. Дефолтное значение: false

    Keywords

    none

    Install

    npm i cyberway-core-service

    DownloadsWeekly Downloads

    38

    Version

    3.59.3

    License

    GPL-3.0

    Unpacked Size

    174 kB

    Total Files

    37

    Last publish

    Collaborators

    • b1acksun
    • bacher
    • beautyfree
    • catraed
    • golos-dev
    • nickshtefan