Kong: Является ли хорошей идеей хранить бизнес-логику и / или бизнес-данные в хранилище данных kong?

Я понимаю, что хранилище данных, используемое Kong, используется для постоянного хранения конфигураций для обеспечения горизонтального масштабирования.

Что мне интересно, так это то, можно ли будет хранить реальные бизнес-данные в самом источнике данных шлюза API и направлять API на основе данных, считанных из этого источника данных.

например. Если в прошлом у пользователя были покупки от 3 разных авторов, я хочу показать ему список всех книг только этих авторов. Здесь история заказов - это бизнес-данные, а бизнес-логика показывает ему только книги этих авторов.

После того, как запрос был пройден через шлюз API, я обычно мог получить историю заказов пользователя, а затем отобразить необходимые данные.

Но возможно ли сохранить историю заказов пользователей в источнике данных kong и написать собственный плагин в lua, который будет извлекать список авторов пользователя из самого шлюза и передавать идентификаторы авторов требуемому модулю, который затем может просто показать книги этих авторов?

И если это возможно, было бы целесообразно сделать это?

1 ответ

Решение

Хотя это и возможно, используя базовый интерфейс Kong DAO, я бы не стал связывать вашу бизнес-логику со схемами, используемыми Kong, просто потому, что интерфейс DAO может измениться в будущем в соответствии с новыми требованиями Kong, и у вас не будет контроль вашей бизнес-логики, если это произойдет (если только вы не поддерживаете реализацию DAO).

Вообще говоря, я бы разместил всю эту логику в отдельном сервисе, а затем запросил сервис из плагина Kong, используя, например, внутренний HTTP-клиент.

Другие вопросы по тегам