EverMesh — s/ high load / p2p /g

39

description

 

Transcript of EverMesh — s/ high load / p2p /g

Page 1: EverMesh — s/ high load / p2p /g
www.princexml.com
Prince - Non-commercial License
This document was created with Prince, a great way of getting web content onto paper.
Page 2: EverMesh — s/ high load / p2p /g

EverMeshмировое господство бесплатно

s/ high load / p2p /g

Page 3: EverMesh — s/ high load / p2p /g

попытка разобраться▪ почему раньше было всё хорошо

▪ почему сейчас стало всё плохо

▪ как мог бы выглядеть идеал

▪ какими шагами к нему двигаться

Page 4: EverMesh — s/ high load / p2p /g

Интернет(ы) — TCP/IP▪ разработан по заказу DARPA

▪ создан полностью p2p, отказоустойчивым

▪ абсолютно открытые протоколы

▪ успешно коммерциализирован

▪ доступен 1.67 миллиарду людей

Page 5: EverMesh — s/ high load / p2p /g

Usenet, E-mail —NNTP, UUCP, SMTP

▪ спроектированы для надёжной работы побезнадёжному dial-up

▪ неограниченные объёмы информации

▪ неограниченное число пользователей

▪ возникновение глобальных перегрузокпрактически невозможно

Page 6: EverMesh — s/ high load / p2p /g

World Wide Web▪ хотели как лучше — получилось как всегда

▪ искусственные центры массового скопленияпользователей

▪ сверхвысокие нагрузки — тяжело подняться иостаться на плаву

▪ косность на всех уровнях, от технологий добизнес–моделей

Page 7: EverMesh — s/ high load / p2p /g

проблемаURL=URN=URI

▪ Uniform Resource Locator, Name, Identifier

▪ три разных сути ресурса

▪ в вебе — традиционно жёстко, порочноидентичны друг другу

▪ сравните с IP:hostname–DNS–CNAME–IP–BGP–OSPF–ARP–MAC

Page 8: EverMesh — s/ high load / p2p /g

проблемацентрализации

▪ бизнес требует посещаемости и полногоконтроля

▪ нарушаются основные парадигмы сети

▪ пользователи сильно зависят от отдельныхкомпаний

▪ искусственные центры перегружают и сервера,и каналы

Page 9: EverMesh — s/ high load / p2p /g

проблема Presentationв Web 2.0

▪ авторам сложно предлагать данные вжелаемом виде

▪ пользователям сложно настроить желаемыйвид

▪ web services в теории должны решатьпроблему

▪ на практике рабочих, открытых WS почти нет

▪ • мешают отсутствие стандартов и

сложность коммерциализации

Page 10: EverMesh — s/ high load / p2p /g

проблема “seriousbusiness”

▪ подавляющий процент коммерции — рекламаи продажи

▪ бизнес–модели 19 века, ставка напривлечение масс

▪ традиционная боязнь чужих нововведений

▪ традиционно фанатичная закрытость

Page 11: EverMesh — s/ high load / p2p /g

проблема массовойидеологии

▪ 2001–2009: знакомство 2/3 населения планетыс IT

▪ 2010–2019: выход в интернет 99% землян

▪ для них IT — тормозные сайты, захламленныерекламой

▪ они не зададут вопросов, просто привыкнут

Page 12: EverMesh — s/ high load / p2p /g

проблема copyright▪ рекламные бизнес-модели против свободного

распространения информации

▪ технические, коммерческие, идеологическиепрепоны кульминируются в законах

▪ файлообменные сети приравняли «p2p» ккоммунизму и преступности

▪ carriers используют ситуацию для упраздненияnet neutrality

Page 13: EverMesh — s/ high load / p2p /g

решения▪ популярные пути обхода высоких нагрузок

▪ открытые сети p2p

▪ синергия технологий: p2p в браузере

Page 14: EverMesh — s/ high load / p2p /g

обход высокихнагрузок

▪ локальный load-balancing кластер

▪ децентрализация по нескольким ДЦ,глобальный LB

▪ распределённая международная система

▪ покупка услуг CDN или строительство своейсети

▪ весь смысл — подойти ближе к получателю

Page 15: EverMesh — s/ high load / p2p /g

обмен файлами вp2p-сетях

▪ 30-90% всего мирового трафика

▪ очень слабая централизация (для hybrid p2p)

▪ минимальные нагрузки

▪ • p2p-нагрузка на каналы — полезное явление

Page 16: EverMesh — s/ high load / p2p /g

p2p и edge-to-edge▪ Usenet — edge-to-edge система, солидная доля

файлообменного трафика

▪ кэшируя p2p-трафик, провайдеры практическиделают его edge-to-edge

▪ популярный раньше HTCP — пример рабочегоedge-to-edge для HTTP

Page 17: EverMesh — s/ high load / p2p /g

p2p в браузере▪ для начала достаточно встроенного веб-

сервера

▪ • Opera Unite, Firefox Plain Old Webserver

▪ Flash 10 имеет встроенный p2p, естьбиблиотека для Silverlight 2

▪ резидентные приложения, ускоряющие любыезагрузки

▪ • BitTorrent DNA

Page 18: EverMesh — s/ high load / p2p /g

технологиивсё только начинается

Page 19: EverMesh — s/ high load / p2p /g

технологии–выручалки▪ IPv6 — NAT отменяется, Skype отмирает

▪ SCTP — много маленьких удобств

▪ HTML5 — локальное хранилище

▪ Client–side server–side JS

▪ XMPP message passing в браузере

▪ Flash, Silverlight

Page 20: EverMesh — s/ high load / p2p /g

современный p2p▪ данные — TCP или тонко тюненный UDP

▪ поиск — гибридные решения или DHT

▪ безопасность — шифрование и крипто-хэширование

▪ анонимность — onion routing, Tor, Freenet

Page 21: EverMesh — s/ high load / p2p /g

Distributed HashTables

▪ семейство несложных алгоритмов поиска имаршрутизации

▪ масштабирование без ограничений

▪ гарантированная, быстрая доставка

▪ • потенциально — со скоростью IP или даже

быстрее

▪ работает в вебе: Coral CDN, Amazon,memcached

Page 22: EverMesh — s/ high load / p2p /g

ресурсы и URIs▪ отделение от местонахождения (URL) и имени

(URN)

▪ SHA-UUID — безопасное, глобально-уникальное хэширование

▪ URL абстрагируется в DHT

▪ URN и другие мета-данные — как отдельныйфайл в DHT

▪ идея не нова: RSS GUIDs, RFC 4122, urn:uuid ватрибутах HTML

Page 23: EverMesh — s/ high load / p2p /g

структуризацияресурсов

▪ по компонентам и версиям

▪ для минимализации изменений идублирования

▪ для удобства точных ссылок

Page 24: EverMesh — s/ high load / p2p /g

концепт EverHash▪ UUID-хэши для всего

▪ единый глобальный namespace

▪ • от отдельных «div» на странице до замены

EAN/UPC в жизни

▪ никакой необходимой централизации

Page 25: EverMesh — s/ high load / p2p /g

пример uuid/p2p ввебе

▪ <a href="http://..." uuid="abcd...">

▪ ищем файл с метаданными по uuid в DHT,качаем по p2p

▪ в файле один или много uuidsнепосредственно данных

▪ ищем в DHT, качаем

▪ для небольших файлов метаданные могутбыть совмещены с данными для скорости

▪ полная обратная совместимость напереходный период

Page 26: EverMesh — s/ high load / p2p /g

структуризацияинтерактивности▪ где-то тривиально

▪ • Twitter, сообщения в соцсетях легко

соотносятся с XMPP

▪ где-то непросто

▪ • там, где нужны быстрые, надёжные

транзакции

• например — в играх типа MMORPG

Page 27: EverMesh — s/ high load / p2p /g

быстрые, массовыеглобальныетранзакции

▪ их не бывает

▪ они не нужны

▪ достаточно ultimately-consistent

▪ • практика Amazon Dynamo

Page 28: EverMesh — s/ high load / p2p /g

p2p-транзакции▪ открытые протоколы вместо закрытых

сервисов

▪ жёсткая структуризация данных

▪ переопределение целостности в качествопредела

▪ определение парадигмы синхронизации

▪ всё это почти решено в DVCS, DistributedVersion Control Systems

Page 29: EverMesh — s/ high load / p2p /g

mashups как view вMVC

▪ набирают обороты в enterprise

▪ • Open Mashup Alliance, EMML

▪ приходят к пользователям

▪ • Yahoo Pipes, Mozilla Ubiquity

▪ возвращают presentation layer в рукипотребителя

▪ • с большими технологическими дивидендами

Page 30: EverMesh — s/ high load / p2p /g

концепт EverMash▪ замена традиционных интерфейсов (CLI/TUI,

GUI, Web2.0)

▪ авто-подстройка mashup-интерфейса по мереработы

▪ асинхронный, continuous workflow

▪ единый глобальный источник данных — P2P/DHT

Page 31: EverMesh — s/ high load / p2p /g

коммерция▪ рост интенсивного развития

▪ переход от push-модели к pull-модели

▪ • от рекламы — к экспертно-аудированной

информированности

▪ продвижение Cloud/Grid/SaaS-решений ближек пользователям

▪ • аппаратные, программные решения,

закрытые приложения-клиенты

• открытые приложения с поддержкой и value-

added сервисами

Page 32: EverMesh — s/ high load / p2p /g

идеология▪ открытый доступ к открытой информации

▪ стандартизация и распространение ws- иmashup-протоколов

▪ представление информации в руках упользователя

Page 33: EverMesh — s/ high load / p2p /g

концепт EverMesh▪ полное отсутствие центральных агрегаторов

▪ связи пользователя определяются любымижелаемыми критериями

▪ • местоположение, социальные связи,

спонтанный интерес

▪ высокие нагрузки — в прошлом :-)

Page 34: EverMesh — s/ high load / p2p /g

в заключениерасставляя точки над «ы»

Page 35: EverMesh — s/ high load / p2p /g

когда ждатьпришествия?

▪ все кусочки пазла уже есть и работают

▪ в академической среде успешно работаютнесколько цельных проектов

▪ критическая масса давно набрана

▪ когда вы перестанете поддерживать ie6? :)

Page 36: EverMesh — s/ high load / p2p /g

что делать?▪ понимать, что мы 20 лет забиваем гвозди

микроскопами

▪ каяться, принять и исповедывать принципыоткрытости в IT

▪ когда есть хорошая идея, но нет денег,подумать, как её можно запустить на базе p2p,опубликовать всё надуманное

▪ внедрять p2p-технологии, даже если покакажутся лишними

▪ • кстати, OpenID — это тоже по-своему p2p

Page 37: EverMesh — s/ high load / p2p /g

на что надеяться?▪ Google Wave, Opera Unite — принципиально

значимые события

▪ • две крупные компании проталкивают p2p в

веб

• пока неуклюже, но главное — желание

▪ прорывы в науке

▪ • пока мы изобретаем велосипеды, они

трудятся над межгалактическим

гипердрайвом

• алгоритмы глобального p2p/meshing хоть и

несложны, но требуют свода теории и

экспериментов

Page 38: EverMesh — s/ high load / p2p /g

что же будет?всё будет хорошо :)