|
|
|
Клиент, Сервер или и Клиент и Сервер?
|
|||
|---|---|---|---|
|
#18+
Приветствую! Застрял... Пишу (впервые:) распределенную систему вычислений с выделенным сервером управления. Имею: - Сервер имеет скоп Задач и список Машин со спец.клиентом для непосредственного выполнения Задач; - В зависимости от кол-ва/тяжести Задач Сервер может задействовать все или часть Машин; - Машины ежесекундно (+/-) шлют Серверу результаты выполнения Задач; - Машины могут быть выключены, в т.ч. неожиданно (отвалилась сеть), и Сервер должен задействовать другие Машины; - Сервер может быть выключен и Машины должны продолжать обработку пока Сервер не появится on-line; Проблема: Сетевое соединение подразумевает, что одна машина должна быть Сервером (ожидает подключение), другая Клиентом (инициирует подключение), при этом мне нужно, чтобы TCP-соединение у Сервера было только с задействованными Машинами и чтобы Сервер в любой момент мог установить это соединение, а значит мои Машины должны быть "Серверами" (ожидают подключения), а мой Сервер должен быть для Машин "Клиентом" (инициирует подключение). Ступор/вопрос: 1) Как выглядит ситуация, когда море Машин по сети выступают в качестве серверов, а Сервер является одним клиентом для них? Чем это чревато? Как-то это всё не укладывается в моей голове... 2) Еще хотелось бы и на Сервере иметь Сервер, которому Машины могли бы слать UDP-сообщение "I'm on-line", чтобы Сервер в случае появления необходимости в Машинах в первую очередь пытался приконнектиться именно к таким Машинам, но тогда вообще и Сервер и Машины будут и Серверами и Клиентами одновременно.. Выскажитесь по теме плз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2012, 17:41 |
|
||
|
Клиент, Сервер или и Клиент и Сервер?
|
|||
|---|---|---|---|
|
#18+
Впервыетогда вообще и Сервер и Машины будут и Серверами и Клиентами одновременно.. Нормальная ситуация... что тебя смущает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2012, 18:19 |
|
||
|
Клиент, Сервер или и Клиент и Сервер?
|
|||
|---|---|---|---|
|
#18+
Зависит от того, какая сеть. Если собственная - пусть каждый комп будет и клиентом, и сервером, всё в плюс. Если сервер предполагается торчащим в интернете, то лучше бы таки "машины" стучались к "серверу" и никак иначе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2012, 18:51 |
|
||
|
Клиент, Сервер или и Клиент и Сервер?
|
|||
|---|---|---|---|
|
#18+
Впервые, Сервер выполняет функции распределения прав доступа, хранения общих данных, и все? То-есть у вас обработка данных на клиентах? Если так, то знакомая ситуация, могу привести ссылку по одному из вариантов решения таких задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2012, 00:18 |
|
||
|
Клиент, Сервер или и Клиент и Сервер?
|
|||
|---|---|---|---|
|
#18+
AkinaНормальная ситуация... что тебя смущает?Отсутствие теории и практики в распределенных системах, маленькая практика в сетевых приложениях и нежелание потом все переделывать с нуля из-за какой-то архитектурной ошибки.. как-то так) softwarerЗависит от того, какая сеть.Сеть частная приватная и трафик будет шифроваться, так что должно быть все норм. aswsТо-есть у вас обработка данных на клиентах? Если так, то знакомая ситуация, могу привести ссылку по одному из вариантов решения таких задач.Да, примерно так и есть. Было бы здорово посмотреть на этот самый вариант) P.S. "Раскурил" TCPшную RFCшку и доки по NETовской обертке к TCP, понял что 1) с сетевыми делами у меня вообще всё плохо и 2) TCP-сокет может с двух сторон находиться в режиме "Ожидание подключения" и с двух сторон же его инициировать, т.е. в моем случае на уровне сетевого взаимодействия обе стороны могут быть "серверами" и "клиентами" в моем исходном вопросе одновременно. Спасибо за ответы!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2012, 10:17 |
|
||
|
Клиент, Сервер или и Клиент и Сервер?
|
|||
|---|---|---|---|
|
#18+
ВпервыеAkinaНормальная ситуация... что тебя смущает?Отсутствие теории и практики Посмотрите на старый добрый FTP в активном режиме... всё то же, только функционал другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2012, 10:32 |
|
||
|
Клиент, Сервер или и Клиент и Сервер?
|
|||
|---|---|---|---|
|
#18+
Впервые, Старой ссылки не смог найти, это было несколько лет назад. Тогда скажу как сам делал, вкратце. Уже не помню, давно было, возможно не совсем точно расскажу. Делал для одной организаций - магазинов 5 (не ларьки!))), сантехника, линолеум там - объем данных поэтому был небольшой. Только я использовал HTTP-соединение (80 порт, через виндовсный XMLHTTPRequest или сокеты через WinApi), а сервер - обычный, с APACE+PHP+MySQL На клиенте проги написанные на MS Visual FoxPro (лицензия у меня есть на последнюю версию - купил еще в 2005 г.). Одна машина была действительно главной, но это был тоже обычный клиент, только программа там стояла с доп. функциями администрирования. Сервер только хранил данные и права доступа (не зная даже что за инфу хранит - пароль совпал - данные отданы/приняты согласно правам, указанным в администраторских таблицах). У каждого клиента - свои диапазон ID для добавляемых записей, удаленные записи физически не удалялись, а устанавливалось служебное поле в строках таблиц - чтобы остальные клиенты видели, что запись была удалена. Клиент с администраторской программой мог "восстановить" или почистить эти поля - так сказать физически удалить такие "удаленные записи". Вся обработка велась на клиенте (остатки, долгги, отчеты и т.д.), согласно расчетному периоду, который тоже задавался с админ-программы. Если сервер подключен и виден - каждое изменение немедленно отправлялось с клиента, и соответственно сервер передавал измененные записи для конкретного клиента, ориентируясь на дату-время последней успешной сессии с каждым клиентом. Если сервер недоступен - клиент продолжает работать, только измененные/добавленные/удаленные записи помечались как измененные в служ. поле. На сервер отправляется и читается только измененная инфа (помеченные поля с момента последней удачной связи), а не все сразу. Для каждого клиента устанавливались права - что он может видеть, и что он может менять (менять как правило только свои данные - приходы/расходы/оплаты/комплектацию/производство и т.д.) Так как рабочие места были как в магазинах, так и в тех.помещениях. Наименование продукции и отпускные цены задавались с админ.компьютера, закупочные разумеется никто не видел, кроме админа, и т.д. Да, еще перед отправкой на сервер цены умножались на 100, а количество на 1000, чтобы на сервере использовать обычный тип данных INTEGER и не париться - все равно сервер сам ничего не считал... При чтении с сервера, соответственно, делились. С админ-машины можно было делать полный архив данных, и отправлять его на сервер (использовал бесплатный 7zip). Клиенты могли прочитать все данные одним архивом (за квартал скажем - не так уж и много). Ну примерно так. Только при такой организации пришлось все делать самому (велосипед), готовых решений не нашел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2012, 00:03 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37842251&tid=1342221]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 487ms |

| 0 / 0 |
