Основной проблемой было получение больших объемов данных сервером 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
Санкт-Петербург, Санкт-Петербург и область, Россия
Если GraphQL позволит получать данные в нужном виде и с приемлимой скоростью, то обязательно.
Основной проблемой было получение больших объемов данных сервером Racks. К примеру, загрузка комнаты с несколькими сотнями стоек, заполненных оборудованием. В дополнение к медленной загрузке множества объектов добавлялись классические проблемы REST вроде 1+N.
Такие весомые трудности вынудили нас использовать "запрещённый приём". Мы открыли серверу Racks read-only доступ к базе NetBox и написали модуль с готовыми сложными SQL запросами и методы API для их запуска и параметризирования.
Проблемы этого решения очевидны:
При обновлении NetBox зачастую приходится обновлять код нашего модуля в Racks
Появляется бэкдор в базу NetBox. Хотя доступ только RO и организован безопасно, но сам факт не особо приятен.
Зато прирост в скорости получился колоссальный. Доли секунды против десятков секунд для API запросов.
Мы очень ждем NetBox 3.0, в котором обещают ввести GraphQL API. Надеемся, это позволит значительно увеличить скорость получения данных "законным" путём.