Насколько дорого создавать несколько процессов для java с использованием Python с точки зрения производительности и выполнения? - PullRequest
0 голосов
/ 04 августа 2020

Контекст :

  • В настоящее время у нас есть приложение, которое используется для подключения к нескольким серверам JMX. Для подключения серверов JMX мы используем модуль Python Popen для создания процесса java со следующими общими аргументами: process = Popen(JAVA_MAIN_ARGS, stdin=PIPE)

  • Для нескольких серверов java (например: Tomcat, IBM WAS) порождает только один процесс и будет создавать потоки дальше. И он отлично работает в случае нескольких серверов Tomcat.

Проблема :

  • Для подключения к серверам IBM WAS с использованием SSL мы требуются дополнительные аргументы для подключения (например: -Dcom.ibm.SSL.ConfigURL).
  • Если мы добавляем дополнительные аргументы в JAVA_MAIN_ARGS, то это не будет подключаться к другим серверам, таким как tomcat и другим серверам IBM WAS, .
  • Основная root причина проблемы: в настоящее время мы запускаем только один процесс для всех серверов (т. Е. Общий для IBM WAS и tomcat), поэтому в этом случае можно использовать любой из них одновременно. .

Подход :

  • Для решения вышеупомянутой проблемы мы решили создать несколько процессов для нескольких серверов. (В нашем случае у нас могут быть сотни серверов)

Спросите :

  • Вопрос 1: Насколько дорого порождать несколько процессов java с использованием модуля python Popen с точки зрения производительности и выполнения?
  • Вопрос 2: Можно ли рассматривать этот подход как единственное решение?
  • Вопрос 3: Есть ли другой способ / решение вышеупомянутой проблемы, кроме многопроцессорной обработки?
...