Сводка
Я разрабатываю сервер, который будет похож на прокси в Clojure, со службой пьедестала + lein в качестве основы:
- Получение запросов
- Пересылка запросов на внешние серверы
- Выполнение нескольких запросов от сервера к серверу для подачи большего json и возврата в виде одного запроса к клиент
Легко кодировать, и есть много ресурсов о том, как обслуживать маршрут, однако я не мог найти простой способ, как устроить постамент Clojure сервис вместе с переадресацией маршрутов
Пример
- Клиентские вызовы [GET] / биллинг => proxy-clojure-server
- proxy-clojure -server проверка подлинности запроса с учетными данными клиента => auth-сервер
- proxy-clojure-server заполняет json данными для выставления счетов => биллинг-сервер
- прокси-clojure-сервер заполняет json данными клиента => клиент-сервер
- proxy-clojure-server возвращает 200 с полным JSON решено
Настройка
- У меня есть проект с такой же структурой, как и: lein new pedestal-service my-app
То, что я пытался
Пример:
(ns your-ns
(:require [tailrecursion.ring-proxy :refer [wrap-proxy]]))
(def app
(-> routes
(wrap-proxy "/remote" "http://some.remote.server/remote")))
Я просто не могу смешать систему маршрутизации с пьедестала с этим прокси-решением, маршруты разные, кажется, может мне понадобится o это с другим подходом
Отказ от ответственности
- Я знаю, что пересылка * basi c может быть сделана с помощью nginx, varni sh, любым другим балансировщиком нагрузки. Но моя идея здесь состоит в том, чтобы заполнить данные с разных серверов, упрощая для клиента
- Я новичок ie с Clojure , как вы могли заметить. И у меня закончились варианты, потому что гугл по этому поводу тоже сложный, иногда бесполезный