Минимизируйте сетевое время для обмена сообщениями с удаленным сервером - PullRequest
1 голос
/ 06 сентября 2011

Ситуация, с которой я обращаюсь, заключается в следующем: компания на восточном побережье США через определенные промежутки времени публикует сообщения через общедоступный Интернет для ряда слушающих субподрядчиков, которые подписываются на эти сообщения. Каждое сообщение объявляет о наличии единицы работы для субподряда. Первый подписчик, который отвечает сообщением о принятии, указывающим, что он имеет непосредственную возможность выполнить работу, получает эту работу. Один субподрядчик находится на среднем западе США. Еще один на западном побережье США. Из-за немного более длительного времени, необходимого для того, чтобы сообщения доходили до субподрядчика по западному побережью через Интернет, а из-за того, что их ответы возвращались к восточному побережью, попытки субподрядчика по западному побережью принять предложенную единицу работы часто оказываются слишком поздними т. е. ближайший субподрядчик уже дал согласие на прием и получил награду за работу), хотя субподрядчик на западном побережье также может выполнять эту работу. Я ищу лучший способ улучшить транзитное время, чтобы преодолеть недостаток расстояния для субподрядчика западного побережья (подключенного к Интернету через линию T1). Какие-либо предложения? (Если это неправильный форум по этому вопросу, предложения по лучшему будут приветствоваться.)

1 Ответ

0 голосов
/ 10 ноября 2011

Вы не будете удовлетворены ответом.

Фактического способа улучшить скорость ваших пакетов через Интернет не существует.Если проходящие маршрутизаторы не находятся под вашим контролем, просто невозможно надежно набрать большую скорость.Интернет основан на best-старательности , что означает, что ни один маршрутизатор не гарантирует, что ваши пакеты поступят ни когда, ни в каком порядке.Вот почему TCP был изобретен.Если вы отправите два пакета, у вас есть хороший шанс, что эти два маршрута пройдут двумя разными путями к месту назначения.Нет никакого способа сообщить маршрутизаторам между вами и удаленным местом, чтобы обрабатывать ваши пакеты по приоритетам или быстрее.Существуют некоторые протоколы, которые теоретически могут ускорить передачу пакетов, но большинство заголовков удаляются в пути (в большинстве случаев после последнего маршрутизатора под вашим контролем).Существует QOS (качество обслуживания) и заголовок TCP Urgent, но ни один из них действительно ничего не гарантирует.Вы можете попытаться установить эти заголовки и использовать эти протоколы, но вы просто не можете сказать, что ваши пакеты имеют приоритет.

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

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

...