Search
Write a publication
Pull to refresh
3
0
Огоров Николай @Areamis

Разработчик DCIM

Send message

Если GraphQL позволит получать данные в нужном виде и с приемлимой скоростью, то обязательно.

Основной проблемой было получение больших объемов данных сервером Racks. К примеру, загрузка комнаты с несколькими сотнями стоек, заполненных оборудованием. В дополнение к медленной загрузке множества объектов добавлялись классические проблемы REST вроде 1+N.

Такие весомые трудности вынудили нас использовать "запрещённый приём". Мы открыли серверу Racks read-only доступ к базе NetBox и написали модуль с готовыми сложными SQL запросами и методы API для их запуска и параметризирования.

Проблемы этого решения очевидны:

  • При обновлении NetBox зачастую приходится обновлять код нашего модуля в Racks

  • Появляется бэкдор в базу NetBox. Хотя доступ только RO и организован безопасно, но сам факт не особо приятен.

Зато прирост в скорости получился колоссальный. Доли секунды против десятков секунд для API запросов.

Мы очень ждем NetBox 3.0, в котором обещают ввести GraphQL API. Надеемся, это позволит значительно увеличить скорость получения данных "законным" путём.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity