Каков наилучший подход в java для вызова функции C, работающей на другом сервере? Мое приложение написано на Java и запущено на сервере приложений на сервере «A», и мне нужно вызвать функцию C, работающую на другом сервере «B», на котором не установлена java.
Должны ли мы создать веб-службу на сервере B для приема запросов от моего веб-приложения на сервере A? или просто вызвать его удаленно с помощью RPC? и какова производительность обоих?
Спасибо, GhostCat, за вашу доброту и за быстрое объяснение.
Для служб REST в C см. github.com/h2o/h2o
Прежде всего:
Just call it using RPC
Когда речь идет о RPC, не существует такого понятия, как «просто». Если у вас еще нет CORBA или другого решения, вам придется потратить много времени, чтобы это заработало.
Использование веб-службы добавляет несколько уровней абстракции, что может повлиять на задержку. Но, конечно, это более гибкое решение.
Я считаю справедливым (в 2018 году) заявить: разумная архитектура обеспечит некую (успокаивающую) службу HTTPS на B. Вам следует рассматривать другие варианты только в том случае, если есть серьезные причины.
0 голос против Это может помочь blog.jscrambler.com/rpc-style-vs-rest-web-apis, В чем разница между удаленным вызовом процедуры и веб-службой, Удаленный вызов процедуры между Java и C