![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
Приветы!
Необходимо симулировать несколько сот серверов (P2P) и коммуникацию между ними. Я сделаю это через потоки одним процессом, но есть один нюанс. Вся система должна дополнительно реагировать на отдельные процессы PHP, которые будет запускаться по мере надобности. Какие можно применить инструменты и/или паттерны? |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Можно (если есть техническая возможность) использовать очереди сообщений (Java Message Queues), но для этого нужен J2EE сервер. Там есть рассылка 1 ко многим. Все процессы могли бы слушать очередь, и отправлять туда сообщения, тем самым иметь взаимодействие... Но это только предположение, поскольку как тут PHP привязать я не знаю.. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
На ПХП можно запускать процессы (Java ессно тоже)...
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Слишком ресурсоемко, лучше сокеты. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
Сорри, ехал в поезде, не мог отвечать... Сейчас опять онлайн
Надо кое-что уточнить..
Насчёт Message Queues - это очень неплохой вариант. 1) Сервер какой нужен, томкат, или можно просто процесс запустить? 2) Скорее всего нужен будет свободный порт. Не ругайте плиз за вопрос, но этот порт будет доступен из сети? Мне по идее надо было бы всё иметь локально."Лишние" входы в систему не желательны 3) Я так понимаю, Message Queues основана на событиях? (как в юниксах?) 1) Сокеты - это тоже через порты, или можно всю межпроцессорную коммуникацию локально сделать? 2) Это кроссплатформенно? 3) Примерчик бы.. 4) (Частично в другой раздел -------- В ПХП также можно исполнять явя-байт-код. Не знаю, насколько это будет менее ресурсоёмко, чем запуск процессов. Также не знаю (пока), нужны ли для этого какие нибудь доп. модули... Но это я в ПХП спрошу. |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Порты. Java часть - да. За PHP не скажу.
Это приблизительный пример, и его надо еще доработать. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Нужен Sun Java System Message Queue - Java Message Service (JMS) или любой другой J2EE сервер поддерживающий JMS, например JBoss или Sun Java System Application Server. Порт будет нужен. Я не знаю возможно ли настроить политику безопасности так, что бы к этому порту могли подсоединяться только localhost клиенты... на доку почитать... Еще вроде как существует способность очередей производить аутентификацию. Где-то слышал, что есть такая фишка... Вот здесь можно почитать про JMS. :-) |
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 31 Всего: 132 |
Можно и без использования тяжелых серверов JMS использовать, есть независимые реализации. Вот, например, Tomcat+JMS. |
|||
|
||||
| sergejzr |
|
||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
LSD, спасибо! Основы понятны.
Это за денежку... не пойдёт. Т.к. проект научный - т.е всё должно быть желательно open source..
Вообще, конечно хотелось бы без доп. серверов. т.к. система будет несколько месяцев работать на "чужом" серваке и кому-то придётся всё это сапортить Насколько я знаю, только через фаерволл... Спасибо за хорошую доку! почитаю... ПС: Пока оба варианта подходят в принципе, хотя оба не идеальны... наверное буду делать чтото вроде гибрида.. Пока обьясню, в чём общая фишка: 1) Имеется идея хитрого поиска по десктопам в сети P2P. Ну система на бумаге кое-какая есть, но теперь её надо закодить, парочку экспериментов поставить и протестить как следует. Вот эта система будет симулироваться отдельным явским процессом. 2) Параллельно имеется CMS, на ПХП, очень похожа на то, что мы реализовываем, но без поиска. Нам дадут пользоваться данными для эксперимента, если мы им встроим наш поиск. 3) Т.е поиск будет инициироваться через вызов ПХП странички и Ява-система отработав отдаст ей результаты поиска. Схема: Поэтому хотелось бы как можно меньше оверхеда... Присоединённый файл ( Кол-во скачиваний: 70 )
system.png 13,27 Kb |
||||
|
|||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
Ух! Ребята, как же я вам благодарен
Есть вопросы насчёт сокетов и Stream'ов, но это будет в другой теме |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |