Обновление API Decimal
Командой было принято решение о реорганизации данного ПО.
Отличительной чертой нового подхода к работе с данными стал переход от монолитной системы к микросервисной.
Ранее комплекс ПО состоял из следующих компонентов:
- парсер,
- база данных (единая база, которая хранила всю получаемую и обрабатываемую информацию из БЧ),
- Gate API,
- Explorer API.
В новом виде комплекс представлен множеством микросервисов, каждый из которых состоит из своего парсера, БД и API.
В рамках этого преобразования ставились следующие задачи:
1. Перепроектировать парсер данных из БЧ.
- Оптимизировать работу парсера за счет более современных подходов в разработке ПО.
- Переписать исходный код парсера с NodeJS на Golang
- Сделать парсер модульным и практичным, чтобы его можно было переиспользовать.
2. Провести ревизию API.
- Пересмотр всех роутов и эндпоинтов и удаление дубликатов.
- Разделить все эндпоинты по тематическим группам, которые будут объединены в один сервис
- Переписать логику обработки данных эндпоинтами с Node.JS на Golang. Важно отметить, что структура эндпоинтов не поменялась.
Что нам даст новый подход:
- Увеличение скорости получения, обработки и передачи данных
- Повышение отказоустойчивости всей системы. При падении одного из сервисов, другие продолжат работу.
- Возможность масштабирования отдельного сервиса по мере увеличения функционала
На данный момент проведена работа над 4 сервисами, а именно:
- Сервис транзакций (API Service transaction)
- Сервис наград (API Service rewards)
- Сервис блоков (API Service Block)
- Сервис монет (API Service Coin)
Данные сервисы проходят тестирование. 26. 01 сервис транзакций был запущен в прод окружении. Это значит, что данные по EVM-транзакциям отображаемые в Explorer будут приходить с него.
Несколько сервисов в данный момент находятся в разработке:
- Сервис контрактов (API Service Contract)
- Сервис адресов (API Service Address)
Важно отметить, что после тщательных проверок эндпоинты сервисов будут интегрированы в Explorer и Console. На прод окружении данные будут проходить уже через эти сервисы. Пока все сервисы не будут выведены в прод и не пройдут все проверки, действующий комплекс ПО будет продолжать работать.