Если все, что вам нужно, это конечная точка GraphQL, то обычно предпочтительнее использовать автономную библиотеку (apollo-server
), потому что будет меньше шаблонов для написания (такие функции, как подписки, загрузка файлов и т. конфигурация). Однако многим приложениям требуются дополнительные функции, помимо предоставления только одной конечной точки API. Примеры включают:
- Webhooks
- обратные вызовы OAuth
- Управление сеансом
- Cook ie синтаксический анализ
- Защита CSRF
- Запросы на мониторинг или ведение журнала
- Ограничение скорости
- Геозоны
- Статус обслуживания c контент
- Рендеринг на стороне сервера
Если вам нужна такая функциональность для вашего приложения, вы захотите использовать инфраструктуру HTTP, например Express, а затем использовать соответствующую библиотеку интеграции (например, apollo-server-express
).
Apollo Сервер также включает интеграции для бессерверных решений AWS Lambda. Если вы хотите использовать go без сервера, например, чтобы улучшить масштабируемость или исключить расходы на системное администрирование, вам также необходимо использовать одну из этих интеграций.