OSDev
http://osdev.su/

"Ретрансляторы" сообщений
http://osdev.su/viewtopic.php?f=5&t=140
Страница 1 из 1

Автор:  whitequark [ 28 сен 2007, 18:37 ]
Заголовок сообщения:  "Ретрансляторы" сообщений

Пока реализовывал у себя межпроцессные сообщения, появилась такая идея:
Сделать, чтобы процесс для сообщения мог быть не двух видов - отправитель и приемник - а мог быть еще и "ретранслятором". Ретранслятор должен передавать сообщения на другую машину. Это отличная фича для серверов. Пример: apache запускает 10 дочерних подпроцессов. Пусть бы он их запускал не на этой машине, а два на этом, еще по три на двух мощных серверах и два на каком нибудь слабом. А обращались бы они друг к другу как если бы были на одной машине. Тогда бы очень упростился интерфейс обмена - кроме того, разработчикам веб-сервера не пришлось бы морочить голову межмашинным интерфейсом - хоть Ethernet, хоть firewire, можно даже через rs232 их соединить - отличаться будут только ретранслятором.
Программно это реализовать очень просто - нужно указывать в сообщениях не один pid, а два - pid ретранслятора и pid удаленного процесса. А ретрансляторы привязывать к конкретному интерфейсу/ip.

Автор:  pushkoff [ 28 сен 2007, 18:47 ]
Заголовок сообщения:  Re: "Ретрансляторы" сообщений

зачем 2
просто к адресу процесса при отправке сообщения добавляешь адрес компа, если он 0 то отправляешь на локальную машину, если не 0 то отправляешь серверу сети и он пусть разруляет сам адреса и отправляет туда куда надо...

Автор:  whitequark [ 28 сен 2007, 19:08 ]
Заголовок сообщения:  Re: "Ретрансляторы" сообщений

Pushkoff, второй по сути и есть адрес компа, т.к. ретрансляторы привязываются к конкретным ip (например). А вообще, это тонкости реализации - закодить эту штуку можно десятью способами

Автор:  Himik [ 28 сен 2007, 20:30 ]
Заголовок сообщения:  Re: "Ретрансляторы" сообщений

Я думаю, сетевой маршрутизатор и так знает через какой сервер передавать пакеты. Зачем его дублировать? Сеть 2 раза придётся настраивать.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/