У меня есть приложения, запущенные на одном контейнере Wildfly
используя единую базу данных. В настоящее время они общаются друг с другом с помощью JAX-RS
и мне интересно, есть ли более быстрый способ?
То, что я уже нашел:
JAX-RS
JMS
Похоже, самый быстрый способ - использовать Local EJB. Но я не уверен в JMS. А как насчет Websockets?
Вы просматривали файлы с отображением памяти? Они могут обеспечить очень высокую пропускную способность. Ознакомьтесь с классом NIO FileChannel. Для готового решения взгляните на Jocket.
Хорошо, можно было бы пожаловаться на вопрос, который слишком широко сформулирован, но предоставление одного возможного ответа было бы также приятным;)
Итак, вот мое предложение: просто создайте чистый API для связи между модулями и разверните его как JAR на свой сервер. Модуль, содержащий конечную точку JAX-RS, также может реализовать API для предоставления необходимых вам услуг (не только для внутреннего использования, но и для вашей службы REST, которая затем просто делегирует обработку запроса). Теперь вы можете просто вводить службу с использованием CDI, когда вам это нужно для внутреннего использования, и насколько я знаю, это самый быстрый способ для внутренней связи, поскольку он работает напрямую с объектами JAVA. Использование CDI для внедрения реализации сервиса также имеет преимущество для развязки модулей.
Надеюсь, это поможет ;)
war
файлы). На самом деле я хочу здесь плюсы и минусы общения через JAX-RS, RMI, что-то еще