Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Архитектура системы со смешанным типом соединений, HTTP и постоянные соединения 
:(
    Опции темы
Platon
Дата 6.9.2008, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 3
Всего: 40



! Модератор: Начало темы было тут
--------------

Цитата(COVD @  6.9.2008,  16:22 Найти цитируемый пост)
Поэтому  на сервере  решениям "embedded" и "в одном флаконе" возможно лучше сразу предпочесть отдельные приложения.


Ну, это уже на усмотрение разработчиков. Я указал, что HTTP сервер может быть Embedded. Но ничто не мешает этот HTTP сервер разместить на другой машине.

Но открывать внешнему миру лучше доступ к 1 машине, чем к 2, или я тут заблуждаюсь?

Это сообщение отредактировал(а) powerOn - 9.9.2008, 09:19
PM MAIL ICQ   Вверх
COVD
Дата 6.9.2008, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Цитата

Но открывать внешнему миру лучше доступ к 1 машине, чем к 2, или я тут заблуждаюсь?


При увеличении количества клиентов рано или поздно придется точки доступа добавлять. Если у клиента нет ограничения, что он имеет право соединяться только к тому серверу, с которого загружен, то совсем хорошо - если один сервер "затонет", то у его клиентов есть шанс перескочить на оставшиеся на плаву.    
PM MAIL   Вверх
Platon
Дата 6.9.2008, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 3
Всего: 40



точки доступа добавлять однозначно надо будет ^_^ но это будет кластеризация, или как правильно сказать... и тогда, опять-таки будет выгодно иметь embedded HTTPServer

Представим картинки
1. HTTPServer и SocketServer на одной машине Server
    
Цитата

      C  l  u  s  t  e  r  M  a  n  a  g  e  r
        /               |              \       
     Server          Server          Server  
    /      \        /      \        /     \     
 client  client  client  client  client  client 

2. WebContainer (WC) и SocketServer (SS) на разных машинах

Цитата

 C  l  u  s  t  e  r  M  a  n  a  g  e  r
   /   /          |    |          \   \
  WC--SS          WC--SS          WC--SS
   \  /            \  /            \  /
  client          client          client


Как видим связей во второй схеме больше. Больше накладных расходов на взаимодействие. Больше соединений к главному серверу.

К сожалению, компетентности не хватит подсчитать в точных цифрах сколько надо Серверов 1-й схемы, чтобы была эквивалентная схема.
Но думаю на 6 пар WC--SS нужно в 1.5 раза больше серверов Server, т.е. 9 серверов.

Это сообщение отредактировал(а) Platon - 6.9.2008, 18:55
PM MAIL ICQ   Вверх
Platon
Дата 6.9.2008, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 3
Всего: 40



Цитата(COVD @  6.9.2008,  16:22 Найти цитируемый пост)
Но драгоценные мысли уже на Введении пришли в голову

Я так полагаю, в скором будущем мы сможем увидеть эти драгоценные мысли в блоге?
PM MAIL ICQ   Вверх
COVD
Дата 6.9.2008, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Возможно, что нагрузка на WC будет меньше (однократные эпизодические запросы), чем на SS. Вроде их число не обязательно должно совпадать с SS. Но это уже фантазии. Заранее все не предусмотришь smile .  
P.S. А "драгоценную" мысль (про минусы embedded на сервере),  я уже "увековечил" здесь. Спасибо за предоставленную возможность smile .

Это сообщение отредактировал(а) COVD - 6.9.2008, 19:51
PM MAIL   Вверх
Platon
Дата 22.9.2008, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 3
Всего: 40



Новая схема общего случая получается такой, на группу S-серверов приходится 1 W-сервер
Цитата

 C  l  u  s  t  e  r  M  a  n  a  g  e  r
   /    |      |      /    |      |  
  SS----WS-----SS    SS----WS-----SS
   |   / \     /     |    / \     /
  client client      client client

Во-первых, даже такая схема, я считаю, имеет много сетевых связей, и это не показатель для гордости. KIS ^_^
Во-вторых, не вижу никаких преград выделить Sun HttpServer в отдельное приложение
В-третьих, если при проектировании системы закладывается ее неимоверное разрастание и распределение, можно ведь заложить интерфейсы взаимодействия S и W частей.

Добавлено через 3 минуты и 15 секунд
На схеме под client понимается группа клиентов с соединениями к одному и тому же SS и WS
PM MAIL ICQ   Вверх
COVD
Дата 22.9.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Цитата

Во-первых, даже такая схема, я считаю, имеет много сетевых связей, и это не показатель для гордости. KIS ^_^
Во-вторых, не вижу никаких преград выделить Sun HttpServer в отдельное приложение


Я и не говорил, что есть "преграды". Я хотел сказать, что на серверной стороне я бы лучше сразу делал отдельно. Что "embedded" - это решение скорее для клиента. Если на сервере будет расти количество обслуживаемых клиентов, то всякие "embedded" решения на сервере возможно придется отсоединять и переносить на другие компьютеры.  Конечно, это повлечет за собой увеличение сетевого трафика между серверными компонентами, но это локальный трафик, который контролируем (в отличии от интернета).

Цитата

В-третьих, если при проектировании системы закладывается ее неимоверное разрастание и распределение, можно ведь заложить интерфейсы взаимодействия S и W частей.


Закладывается не "неимоверная" возможность расширения, а по необходимости: растет кол-во обслуживаемых клиентов -> добавляем пару компьютеров на сервере.

Мы как-то абстрактно тут обсуждаем, но S и W не должны между собой никак взаимодействовать. Это независимые точки доступа в систему. W - это например, Томкат, который выдает клиенту статическую информацию по запросу.  А S - это например, MINA, который дает клиенту поток данных через постоянное соединение. И этот поток является обновлением статической информации, полученной от W.    



Это сообщение отредактировал(а) COVD - 22.9.2008, 13:43
PM MAIL   Вверх
Platon
Дата 22.9.2008, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 3
Всего: 40



Как построить ведь. Представим ситуацию, когда авторизацию проводим через S, получаем session_id, и эта сессия является общей для W и S, т.е. мы не отправляем W запросы с логином и паролем, а только текущую session_id, в такой схеме я вижу целесообразным объединение W и S smile

Добавлено через 11 минут и 33 секунды
Цитата(COVD @  22.9.2008,  14:42 Найти цитируемый пост)
Закладывается не "неимоверная" возможность расширения, а по необходимости: растет кол-во обслуживаемых клиентов -> добавляем пару компьютеров на сервере.

проведем параллели: есть Embedded DB, есть Server DB. Дизайн хорошо спроектированной программы позволяет нам изменить тип взаимодействия с БД 1 строкой.
PM MAIL ICQ   Вверх
COVD
Дата 22.9.2008, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Цитата

Как построить ведь. Представим ситуацию, когда авторизацию проводим через S, получаем session_id, и эта сессия является общей для W и S, т.е. мы не отправляем W запросы с логином и паролем, а только текущую session_id, в такой схеме я вижу целесообразным объединение W и S
 
Они не должны напрямую общаться по причине, если один из них помрет, то клиент может быть обслуженным другим аналогичным компонентом. У них должен быть общий ресурс, с которым они могут общаться. Например, база данных. Там session_id и хранить (в основной и дублирующей базах). Тогда неважно будет где клиент логинился.

Цитата

проведем параллели: есть Embedded DB, есть Server DB. Дизайн хорошо спроектированной программы позволяет нам изменить тип взаимодействия с БД 1 строкой.


да я не против. Наверное, бывает что 1 строкой. Все EE для того и придумано, чтобы 1 строкой smile. 
PM MAIL   Вверх
Platon
Дата 23.9.2008, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 3
Всего: 40



Цитата(COVD @  22.9.2008,  21:52 Найти цитируемый пост)
да я не против.

так не интересно smile спора так не выйдет.

Цитата(COVD @  22.9.2008,  21:52 Найти цитируемый пост)
Они не должны напрямую общаться по причине, если один из них помрет, то клиент может быть обслуженным другим аналогичным компонентом.

А в моей схеме так же. Только нагрузка "катания шаров" session_id отсутствует. В случае отказа клиент переподключается к другому аналогичному компоненту.
PM MAIL ICQ   Вверх
COVD
Дата 23.9.2008, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Цитата

А в моей схеме так же. Только нагрузка "катания шаров" session_id отсутствует. В случае отказа клиент переподключается к другому аналогичному компоненту.
 

т.е. вот здесь :

Цитата

Как построить ведь. Представим ситуацию, ....... в такой схеме я вижу целесообразным объединение W и S


речь не про вашу схему, а про абстрактный случай  smile ? Зачем обьединять напрямую каждого с каждым , если есть совместный ресурс, соблаговолите пояснить  smile  . Можно без технических секретов  smile . Так сказать, только философию.
PM MAIL   Вверх
Platon
Дата 23.9.2008, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 3
Всего: 40



Да собственно, философия в том, чтобы сократить накладные расходы (локальный траффик)

Добавлено @ 14:10
Цитата(COVD @  23.9.2008,  14:36 Найти цитируемый пост)
Зачем объединять напрямую каждого с каждым

Безусловно, если бы мне приходилось в качестве части W ставить веб-контейнер, это было бы просто издевательством.

Это сообщение отредактировал(а) Platon - 23.9.2008, 15:28
PM MAIL ICQ   Вверх
COVD
Дата 23.9.2008, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Цитата

Да собственно, философия в том, чтобы сократить накладные расходы (локальный траффик)

Нисколько не подвергая сомнению значимость такой философии, я всего лишь предположил, что минимизация локального трафика отойдет на второй план при вынужденном расширении системы. Если локальная сеть не справляется, то просто устанавливается более мощное оборудование. 

Цитата

Безусловно, если бы мне приходилось в качестве части W ставить веб-контейнер, это было бы просто издевательством.


Я предполагал, что W и есть просто веб-контейнер, который ни данных ни логики не содержит. Аналогично и S. Я бы так и делал.

PS. 
Platon. Красивое название топику придумали smile Но знатоки наверное скажут, что все это реализовано в EE:  сервер приложений для W и система сообщений ( ActiveMQ, Tibco,..) для S. И все это, конечно, "одной строчкой" smile . Так чем нам по окопам бегать, не лучше ли сразу армиями командовать?    smile 




Это сообщение отредактировал(а) COVD - 25.9.2008, 17:49
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.0534 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.