Еще у программиста не должно быть желания опробовать все свои новые идеи (освоить новый язык, поиграться с новой библиотекой) на коммерческом продукте. Я бы это назвал умеренным консерватизмом.
Как я понимаю, самая большая сложность — в нечётком определении самой идеи. Если плагиатор изменил одну часть идеи — это та же идея или уже другая? А если две части? А если десять? Поэтому и разрешают патентовать идею, только четко записанную на бумаге в виде конструкторской документации. А это уже не идея, а реализация.
С этими сервисами перестает эффективно работать спам-защита URIBL. Мне уже приходит спам со ссылками на tinyurl.com. На lookup.uribl.com/ этот tinyurl.com в белом списке, а значит, в спаме можно спокойно давать эти ссылки. Нужны расширенные механизмы в спамодавках, которые будут вести список известных редиректоров, уметь вычислять по урлам реальные адреса сайтов и проверять через URIBL уже эти адреса. А с этим сервисом вообще ужас — пойди пойми, как запрашивать юникодные имена доменов через URIBL.
Мы в нашей игре (http://www.magiclands.ru) использовали технологию, которая в статье названа long poll. Работает очень быстро и устойчиво. Открытые соединения проксируются на несколько бэкендов, каждый из которых обслуживает свою часть юзеров. Масштабировать можно практически неограниченно, добавляя сервера и процессы и распределяя по ним пользователей.
Практика показала, что нагрузку создает не число одновременно установленных соединений, а количество новых запросов в единицу времени. В населенных локациях народу ходит много — постоянно много данных отправляется всем, кто там находится — нагрузка возрастает.
На гейм-дизайнера ложится задача минимизировать такие скопления, а в целях борьбы с перегрузками введена саморегулирующаяся задержка, которая не сразу закрывает соединение при поступлении данных, а ждет ещё какое-то время — вдруг ещё что придёт на отправку, и уже после этой задержки отправляет пакет. Для системы это в разы снижает нагрузку, а для игрока выглядит, как задержка между отдачей команды на перемещение и началом движения. Если сделать, что собственные действия никогда не задерживаются, а действия других персонажей можно и притормозить, то игроки задержку и замечать не будут.
В чате секундная задержка практически незаметна пользователям и позволяет комфортно общаться.
Практика показала, что нагрузку создает не число одновременно установленных соединений, а количество новых запросов в единицу времени. В населенных локациях народу ходит много — постоянно много данных отправляется всем, кто там находится — нагрузка возрастает.
На гейм-дизайнера ложится задача минимизировать такие скопления, а в целях борьбы с перегрузками введена саморегулирующаяся задержка, которая не сразу закрывает соединение при поступлении данных, а ждет ещё какое-то время — вдруг ещё что придёт на отправку, и уже после этой задержки отправляет пакет. Для системы это в разы снижает нагрузку, а для игрока выглядит, как задержка между отдачей команды на перемещение и началом движения. Если сделать, что собственные действия никогда не задерживаются, а действия других персонажей можно и притормозить, то игроки задержку и замечать не будут.
В чате секундная задержка практически незаметна пользователям и позволяет комфортно общаться.