|
|
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
JMS / TCP(UDP, not RMI ) / Shared Memory / Files / RMI Для сверхнагруженного банковского аппликейшна? А то не знаю с чего начать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 14:22:35 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
Если это два процесса на одной физической машине, и производительность является первичным критерием, то первый вопрос, который бы я задал - "а почему бы нам не сделать из 2х процессов - один". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 14:29:59 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
Тут больше организационная беда. Обеспечить качественную разработку модульной системы для параллельного исполнения внутри одного процесса очень трудно :( И поэтому были написаны разные модули, не стыкующиеся в один процесс совершенно. И второе, сознаюсь, приложение всё же не сверх нагруженное, а просто нагруженное :) И пусть realtime не требуется, но хотелось бы иметь шуструю работу между разными модулями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 14:38:29 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
Anatoly Dмодульной системы для параллельного исполнения - как версии совмещать будем? - ЧТО параллельно исполняем? У 1С модульность через XML файлы или общее ядро и конфигурации сверху. У MS через COM, которую он жес потом и охаял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 14:59:22 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
Без описания того, что ваши процессы будут делать, все советы будут как гадания на кофейной гуще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 15:10:31 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
Anatoly DТут больше организационная беда. Обеспечить качественную разработку модульной системы для параллельного исполнения внутри одного процесса очень трудно :( И поэтому были написаны разные модули, не стыкующиеся в один процесс совершенно. И второе, сознаюсь, приложение всё же не сверх нагруженное, а просто нагруженное :) И пусть realtime не требуется, но хотелось бы иметь шуструю работу между разными модулями. Я не знаю что конечно за процессы, но осмелюсь предположить (раз это банковское решение) что подойдет JMS. (исходя из своего опыта) но я не знаю какие требования к вашему решению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 16:27:42 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
Anatoly DОбеспечить качественную разработку модульной системы для параллельного исполнения внутри одного процесса очень трудно :( А параллельное исполнение разных процессов чем легче? Не понимаю. Пусть у вас 2 приложения, каждое начинается своим методом main(). Пишем небольшой пускач, запускающий оба main'а на разных потоках в одном процессе. Для приложений это эквивалентно тому, что они запустились в разных процессах. Если же возникла паразитная связь через статические переменные классов, используемых в обоих приложениях, то это свидетельство плохого программирования (использование статических переменных должно быть сведено к минимуму) и хороший повод переписать эти места. Если переписать трудно, то можно запустить приложения каждое через свой класслоадер, и паразитная связь исчезнет. После этого, в пускаче создать транспортные объекты (рекомендую очереди) и передать ссылки на них каждому приложению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 19:58:13 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
rfq, +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2013, 10:50:11 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
Через свой класслоадер, это я не думал... Как физически это осуществлять? Приложений даже не 2 и не три, а 11... :( пока идёт мешанина RMI + JMS... вот думаю как можно это обыграть более весело. Существующих подход тоже действует, но вот RMI порой подводит, приходится много кешировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2013, 12:58:17 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
Anatoly D, а что? У вас нет посмотреть аналогов приложений? С этого и начните (с обзора аналогичного ПО). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2013, 13:13:59 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
Anatoly DЧерез свой класслоадер, это я не думал... Как физически это осуществлять? Приложений даже не 2 и не три, а 11... :( пока идёт мешанина RMI + JMS... вот думаю как можно это обыграть более весело. Существующих подход тоже действует, но вот RMI порой подводит, приходится много кешировать. Любой сервер приложений грузит еарки и варки через свои класслоадеры, именно поэтому возможен горячий редеплой. И ничего сложного кстати в этом нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2013, 13:53:57 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
Anatoly DЧерез свой класслоадер, это я не думал... Как физически это осуществлять? Приложений даже не 2 и не три, а 11... :( пока идёт мешанина RMI + JMS... вот думаю как можно это обыграть более весело. Существующих подход тоже действует, но вот RMI порой подводит, приходится много кешировать. RMI это Remote Method Invocation. Уже название как бы намекает, для чего этот протокол нужен. Смысла его использовать локально нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2013, 13:58:46 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
Anatoly D, так всё зависит от требований к этому самому транспорту. Потому как возможности TCP и JMS например в плане транспортировки сильно различны. Как вариант, если приложения не стыкуются вообще никак, можно использовать JMS по внутриброкерному протоколу. В этом случае оба приложения и JMS-брокер сбиваются в одну JVM ( приложения оформляются как плагины в брокер ) и посылают/получают сообщения через очереди/топики брокера по специальному внутреннему протоколу. Это например поддерживает ActiveMQ. Но смысл в таком ёжеуже только один -- дотерпеть пока приложения не разнесут всё-таки по разным серверам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2013, 17:41:30 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczAnatoly DЧерез свой класслоадер, это я не думал... Как физически это осуществлять? Приложений даже не 2 и не три, а 11... :( пока идёт мешанина RMI + JMS... вот думаю как можно это обыграть более весело. Существующих подход тоже действует, но вот RMI порой подводит, приходится много кешировать. RMI это Remote Method Invocation. Уже название как бы намекает, для чего этот протокол нужен. Смысла его использовать локально нет. локально он и не используется, а как связь между двумя разными jvm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 16:26:25 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
забыл никAnatoly DЧерез свой класслоадер, это я не думал... Как физически это осуществлять? Приложений даже не 2 и не три, а 11... :( пока идёт мешанина RMI + JMS... вот думаю как можно это обыграть более весело. Существующих подход тоже действует, но вот RMI порой подводит, приходится много кешировать. Любой сервер приложений грузит еарки и варки через свои класслоадеры, именно поэтому возможен горячий редеплой. И ничего сложного кстати в этом нет А если нет сервера приложений, а есть запуск процессов java +params +classname +etc... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 16:27:19 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
Petro123Anatoly D, а что? У вас нет посмотреть аналогов приложений? С этого и начните (с обзора аналогичного ПО). да, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 16:29:22 |
|
||
|
Какой транспорт между процессами использовать?
|
|||
|---|---|---|---|
|
#18+
Anatoly Dзабыл никпропущено... Любой сервер приложений грузит еарки и варки через свои класслоадеры, именно поэтому возможен горячий редеплой. И ничего сложного кстати в этом нет А если нет сервера приложений, а есть запуск процессов java +params +classname +etc... ? Я к тому что любой сервер приложения именно так и запускается java +params +classname +etc... . И вроде бы работает. Так что ничего не мешает посмотреть исходники ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 16:47:22 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38342276&tid=2128920]: |
0ms |
get settings: |
16ms |
get forum list: |
24ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
60ms |
get topic data: |
21ms |
get forum data: |
6ms |
get page messages: |
91ms |
get tp. blocked users: |
3ms |
| others: | 291ms |
| total: | 526ms |

| 0 / 0 |
