Двусторонний API? - PullRequest
       57

Двусторонний API?

0 голосов
/ 28 февраля 2019

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

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

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

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

enter image description here

1 Ответ

0 голосов
/ 04 марта 2019

Один вопрос, на который вам нужно ответить, это то, что, если этот сервер secret-api нужно перезапустить!Вы теряете все эти трудоемкие вычисления ..

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...