timers in the socket communications, handler2006, 22-Мрт-12, 13:41 [смотреть все]Здравствуйте! Имеем два приложения, взаимодействующие друг с другом посредством сокетов. Оба приложения могут быть многопоточными и находиться как на одной так и на разных машинах, а так же использовать как прямые функции управления сокетами, так и посредством сторонних библиотек. Так же оба приложения могут выступать как в роли клиента, так и в роли сервера. Одно приложение посылает другому сообщение и принимает от него ответ на это сообщение. В данный момент для взаимодействия приложений используются таймеры: если в течении таймаута не получен ответ - сообщение считается невалидным и весь запрос отбрасывается. Таким образом, от значения таймаута зависит производительность и работоспособность всей системы в целом. Как можно еще реализовать сетевое взаимодействие приложений с максимальной доставкой сообщений и минимальным таймаутом? |
- timers in the socket communications, svn, 00:57 , 23-Мрт-12 (1)
Так или иначе.Какой используется протокол запросов (stateless или statefull)? Размер запроса и ответа? Что такое "максимальной доставкой сообщений" и "минимальным таймаутом"? Доставляй все сообщения максимально, делай таймаут нулевым, разрешаю. Дальше что?
- timers in the socket communications, handler2006, 11:30 , 23-Мрт-12 (2)
Протокол используется простой: устанавливается сокет на хост и порт и слушаются все входящие сообщения. Максимальная доставка сообщений - максимальное количество сообщений, которое может быть доставлено. Минимальный таймаут - минимальное значение времени, необходимое на отправку, обработку и доставку сообщения. Предположим, мы установили значение таймера равным одной единице: если за эту единицу времени ответ не получен, сервис считается недоступным. Если это значение слишком мало, мы отбрасываем валидные ответы и наоборот, если значение слишком велико, мы ждем ответов от недоступных сервисов. Думаю, модель взаимодействия приложений в сети достаточно распространенная. Как же мне добиться производительности ответов хотя бы 100 тыс. запросов в секунду?
- timers in the socket communications, svn, 23:20 , 24-Мрт-12 (5)
> Максимальная доставка сообщений - максимальное количество сообщений, которое может быть > доставлено.Уменьшай заголовки. Это достигается упрощением протокола, например отказом от tcp или ip. То что ты написал про "слушается сокет" означает что ты даже не рассматривал вариант отказа от TCP. > минимальное значение времени, необходимое на отправку, обработку > и доставку сообщения. Минимальный таймаут - это бредятина. Таймаут это настройка. То что ты сказал называется задержкой передачи сообщения. И зависит она от устройства сети больше чем от протокола. Хотя протокол может её увеличить повторной посылкой потерянных при передаче данных. > Как же мне добиться производительности ответов хотя бы 100 тыс. запросов в > секунду?
Проблема реализовать такой сервис, который обработает столько запросов, а не в сети. PS: Вы не отвечаете на мой ответ. stateless и размер запроса/ответа?
- timers in the socket communications, handler2006, 12:11 , 25-Мрт-12 (6)
> Уменьшай заголовки. Это достигается упрощением протокола, например отказом от tcp или ip. Вы шутите?! А как же слать пакеты по сети? Или Вы думаете, что все на одной машине крутится? К сожалению, у меня нет mainframe
- timers in the socket communications, svn, 18:44 , 31-Мрт-12 (7)
> Вы шутите?! > А как же слать пакеты по сети?Кроме tcp есть уйма протоколов. Например столь же популярный, но намного более простой UDP, который идеально подходит для общения вида запрос-ответ. Если всё работает в одной локальной сети можно использовать ethernet без обёртки ip.
- timers in the socket communications, тень_pavel_simple, 11:50 , 23-Мрт-12 (3) +1
>[оверквотинг удален] > Так же оба приложения могут выступать как в роли клиента, так и > в роли сервера. > Одно приложение посылает другому сообщение и принимает от него ответ на > это сообщение. В данный момент для взаимодействия приложений используются таймеры: если > в течении таймаута не получен ответ - сообщение считается невалидным и > весь запрос отбрасывается. > Таким образом, от значения таймаута зависит производительность и работоспособность всей > системы в целом. > Как можно еще реализовать сетевое взаимодействие приложений с максимальной доставкой сообщений > и минимальным таймаутом?не придумывать велосипед http://www.zeromq.org/
|