Двойной API?

На данный момент все мои клиенты находятся в одной базе данных, в одном домене и т. д. на моем величественном монолите на https://www.mystartup.com.

Допустим, я хочу развернуть экземпляр моего приложения rails для одного крупного клиента. И допустим, я могу развернуть другие экземпляры этого приложения rails в будущем.

Дело в том, что я извлекаю и вычисляю некоторые тяжелые данные, и я хочу сделать это один раз, а не во всех экземплярах. Так что я думаю, что я должен делать их в https://secret-api.mystartup.com, и каждый из экземпляров должен делать запросы к нему с токеном секретного доступа.

Но моя проблема заключается в следующем: есть ли способ для https://secret-api.mystartup.com инициировать некоторые вызовы для каждого из доменов, когда это необходимо? Это то, что мы называем «веб-хуками»? или есть какая-то концепция двойного API, которую мне не хватает?

Двойной API?

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

Sean Huber 28.02.2019 18:02

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

Glyoko 28.02.2019 18:27
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как создать простое погодное приложение на Python с API OpenWeatherMap
Как создать простое погодное приложение на Python с API OpenWeatherMap
Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.
Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
В этом руководстве вы узнаете, как использовать API парсинга квитанций за 5 минут с помощью JavaScript. Eden AI предоставляет простой и удобный для...
0
2
31
1

Ответы 1

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

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

Для таких сценариев; когда необходимо выполнить тяжелую работу, одним из решений может быть наличие слоя в памяти между чем-то вроде memcached или redis. Храните свои решения на этом сервере в памяти, а НЕ внутри кеша, поддерживаемого внутри вашего секретного API-сервера. .. Это решение решит обе вышеупомянутые проблемы.

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