Быстрый способ межпроцессных коммуникаций на одном ПК?

У меня есть два jar процесса не связанные друг с другом, которые находятся на одном ПК. В одной из них мне нужно систематически получать объекты находящиеся в другой.

Для этого я пробовал использовать сокеты(UDP/TCP), результатом не доволен, так как при больших нагрузках (около 1000 запросов в сек) некоторые запросы/ответы теряются или не успевают считываться. Плюс ко всему они работают медленно. В среднем один запрос занимает от 0.3мс до 1.5мс (с ростом кол-ва запросов время также растёт).

Размер запросов до 1кб, размер ответов(сериализованных объектов) до 8кб.

В идеале я бы хотел брать данные прямо из соседней программы обычным методом .get(имя объекта), который бы возвращал мне объект, но, к сожалению, сделать эти процессы дочерним/родительским невозможно.

Насколько я понимаю сокеты в основном предназначены для коммуникаций по сети, отсюда и не максимальная скорость на localhost'e, но у меня всё на одном компьютере, поэтому я думаю, что есть способ более быстрой передачи данных.

Также необходимо, чтобы это не было зависимостью от сторонних проектов. (Не считая Netty, но насколько я знаю все коммуникации Netty основаны на сокетах, поэтому вряд ли он поможет)


Ответы (0 шт):