The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"OpenNews: Google опубликовал протокол обмена данными 'Protoc..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"OpenNews: Google опубликовал протокол обмена данными 'Protoc..."  
Сообщение от opennews on 09-Июл-08, 01:03 
Google открыл (http://google-opensource.blogspot.com/2008/07/protocol-buffe...) для всеобщего пользования RPC (http://ru.wikipedia.org/wiki/Remote_Procedure_Call) протокол обмена данными Protocol Buffers (http://code.google.com/p/protobuf/). <i> «Практически все внутри Google использует Protocol Buffers»</i>, написано в FAQ (http://code.google.com/apis/protocolbuffers/docs/faq.html). <i> «Мы бы хотели сделать открытыми многие другие наши проекты, но для этого мы должны были прежде опубликовать Protocol Buffers»</i>.

Google использует множество различных типов данных, которые передаются в виде сообщений между серверами. Большинство из них имеют иерархическую структуру, которую необходимо представлять в определенном виде. Использование XML (http://ru.wikipedia.org/wiki/Xml) в этом случае неэффективно, так как когда сеть и узлы работают на полную мощность, обработка XML отнимает слишком много ресурсов. Кроме того, код для работы с деревом DOM (http:/...

URL: http://google-opensource.blogspot.com/2008/07/protocol-buffe...
Новость: http://www.opennet.me/opennews/art.shtml?num=16867

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "я не понял.."  
Сообщение от ieroglif email on 09-Июл-08, 01:03 
они json что ли изобрели? двоеточие на равно поменяли? или я все-же чего-то не понял?..
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "я не понял.."  
Сообщение от Veter (??) on 09-Июл-08, 01:54 
Это они тикль изобрели.

Так у гугла
  person {
    name = "John Doe"
    email = "jdoe@example.com"
  }

А так на тикле
  person {
    name "John Doe"
    email "jdoe@example.com"
  }

То есть в таком виде это будет тиклевский код и обрабатывается интерпретатором.
Если заменить фигурные скобочки на простые, то получится лисп, тоже позволяет строку интерпретировать как код. Интерпретаторы есть на чем угодно от С до яваскрипт.
Кстати, в AOL Web Server давно уже реализована возможность посылать сообщения, представляющие собой тиклевский код (именно код, не только данные, что предоставляет очень широкие возможности). А первая реализация для тикля, которую я видел, сделана еще в далеких 90-х и на ней, что интересно, написан вариант системы репликации постгреса (притом, похоже, единственный, имеющий математическое описание).

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "я не понял.."  
Сообщение от капитан очевидность on 09-Июл-08, 02:23 
person {
    name = "John Doe"
    email = "jdoe@example.com"
}
это лишь описание структуры. потом на основе него строятся парсеры под бинарные форматы.
они говорят, что такая запись будет в бинарном виде занимать 28 байт. это по два байта оверхеда на поле. и парсится за 100нс.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "я не понял.."  
Сообщение от User294 (ok) on 09-Июл-08, 18:49 
> По словам Google, Protocol Buffers от трех до десяти раз компактнее при выигрыше в
> скорости от 20 до 100 раз, по сравнению с XML

Кстати да, пользуясь случаем передаю отдельные приветы жабберу с его пухлыми XML-ками :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Может, так понятнее?"  
Сообщение от smb email on 09-Июл-08, 02:36 
Не совсем. Они ввели язык для определения типов сообщенией(.proto-файлы), он действительно схож с JSON, но это же не всё :) Далее, так как просто такой язык - байан и неудобно, то написали для него маппер на классы C++/Java/etc(в их терминологии компилятор) с возможностью сериализации в бинарный вид. Далее, поддерживается обратная совместимость форматов - т.е. можно ввести новые поля и ничего не сломается, + еще на базе этого формата гугловцы сделали RPC.
Вроде немало, а по удобству+скорости=качеству - совсем хорошо получается :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

23. "Может, так понятнее?"  
Сообщение от Oles email on 10-Июл-08, 09:07 
Скомпилированый жсон да и сериализуемые классы. Как по мне жсон прикольнее.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "я не понял.."  
Сообщение от szh (ok) on 09-Июл-08, 05:35 
> они json что ли изобрели? двоеточие на равно поменяли?

и траффик уменьшили в 10 раз. Траффик == деньги.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "я не понял.."  
Сообщение от User294 (ok) on 09-Июл-08, 18:54 
>и траффик уменьшили в 10 раз. Траффик == деньги.

Просто если сервак при прочих равных сможет в 10 раз больше, значит будет надо вдесятеро меньше серверов.Тут все просто.А XML сцуко сложный в парсинге и вообще обладает рядом неприятных свойств.Скажем размер записи вообще заранее неизвестен.И если вдруг запись весит гиг а нам в облом столько парсить - заранее узнать что нас ждет нельзя.А значит парсер будет колупать весь гиг, медленно и печально.XML хорош для некоторых вещей, но для некоторых других он выглядит как микроскоп при забивании гвоздей.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Google опубликовал протокол обмена данными 'Protocol Buffers..."  
Сообщение от frewq on 09-Июл-08, 07:33 
Интересно, чем Protocol Buffers лучше ASN.1 с BER, DER и PER ?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Google опубликовал протокол обмена данными 'Protocol Buffers..."  
Сообщение от alex (??) on 09-Июл-08, 09:56 
Похоже, взяли разумные идеи из CORBA и реализовали как надо.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Google опубликовал протокол обмена данными 'Protocol Buffers..."  
Сообщение от penguin_antarctic on 09-Июл-08, 10:06 
До ICE ( который Internet Communication Engine ) им еще далеко.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Google опубликовал протокол обмена данными 'Protocol Buffers..."  
Сообщение от Pilat (ok) on 09-Июл-08, 10:24 
Вы, парни (и девушки) не понимаете главного. Если Google говорит, что у него всё на этом протоколе _работает_, и работает хорошо - это авторитетное заявление и к нему надо прислушаться. А заявления типа "баян", "да это тикль", "да это Corba", "до ICE далеко" - это трёп, который не имеет никаких оснований приниматься во внимание.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Google опубликовал протокол обмена данными 'Protocol Buffers..."  
Сообщение от smb email on 09-Июл-08, 11:18 
Это само собой =) Называется авторитет. У гугла он есть, и очень большой. По сути - согласен.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Google опубликовал протокол обмена данными 'Protocol Buffers..."  
Сообщение от Veter (??) on 09-Июл-08, 12:40 
"Это значит - не надо за мной. Колея эта только моя, выбирайтесь своей колеёй." (С)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Google опубликовал протокол обмена данными 'Protocol Buffers..."  
Сообщение от kantemirov on 09-Июл-08, 10:49 
прошу аргументировать свои "наезды" ))
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Google опубликовал протокол обмена данными 'Protocol Buffers..."  
Сообщение от Аноним (??) on 09-Июл-08, 13:32 
ждем реализацию на перле, и, возможно, на пошапе
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Google опубликовал протокол обмена данными 'Protocol Buffers..."  
Сообщение от Аноним (??) on 09-Июл-08, 13:33 
>ждем реализацию

хм, точнее, реализацию поддержки ^ конечно )


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Google опубликовал протокол обмена данными 'Protocol Buffers..."  
Сообщение от uldus (ok) on 09-Июл-08, 13:59 
>ждем реализацию на перле, и, возможно, на пошапе

Для Perl модуль уже один человек взялся писать.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "Google опубликовал протокол обмена данными 'Protocol Buffers..."  
Сообщение от Аноним (??) on 09-Июл-08, 15:24 
Жаль для Native C порта нет
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "OpenNews: Google опубликовал протокол обмена данными 'Protoc..."  
Сообщение от Аноним (??) on 09-Июл-08, 19:02 
А под какой это лицензией? Я чёт так и не нашел...
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

21. "OpenNews: Google опубликовал протокол обмена данными 'Protoc..."  
Сообщение от Aleksey (??) on 09-Июл-08, 20:27 
>А под какой это лицензией? Я чёт так и не нашел...

Apache License 2.0

P.S. Это есть на сайте проекта http://code.google.com/p/protobuf/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

22. "OpenNews: Google опубликовал протокол обмена данными 'Protoc..."  
Сообщение от Аноним (??) on 09-Июл-08, 22:52 
Спасибо. Не добрался до этой страницы.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

24. "OpenNews: Google опубликовал протокол обмена данными 'Protoc..."  
Сообщение от nuclight email(ok) on 10-Июл-08, 16:53 
Вообще, конечно, молодцы, ибо http://c2.com/cgi/wiki?XmlSucks

Но не совсем понятно, чем их не устроил ASN.1, под который уже дофига всего разработано (и который пиарит себя как наиболее совершенное решение). Те же типы (в отличие от XML), те же парсеры для кучи языков, то же компактное бинарное представление (более эффетивное, чем XML). Разве что синтаксис привычнее?..

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

25. "OpenNews: Google опубликовал протокол обмена данными 'Protoc..."  
Сообщение от Forth email(??) on 04-Авг-08, 14:38 
Кто знает, rpc на базе этого protobuf с поддержкой какой-либо авторизации и шифрования, или нет?


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру