?

Log in

СЯУ - Оживший юзерпик

Jun. 2nd, 2013

06:32 pm - СЯУ

Previous Entry Share Next Entry

Ну, точнее, знал я давно, а сегодня вербализировал — зачем при наличии CORBA & co эти красноглазые™ придумали Protobufs, Thrift & Co: для «мягкой» несовместимости клиента и сервера. Ну, в основном для этого. Там, где корба требует пересборки клиента для работы с новой версией сервера (ну, если менялся IDL), эти не требуют ничего. Ну, если новая версия сервера озаботилась обратной совместимостью, понятно.

PS: интересно, говорю я тоже с «ну» через слово?..

Comments:

[User Picture]
From:duke_igthorn
Date:June 2nd, 2013 03:31 pm (UTC)
(Link)
Но какая мечта была это Корба... Как жаль, что не взлетело..
(Reply) (Thread)
[User Picture]
From:golosptic
Date:June 2nd, 2013 03:57 pm (UTC)
(Link)
Некоторые и до сих пор на ней летают.
(Reply) (Parent) (Thread)
[User Picture]
From:duke_igthorn
Date:June 2nd, 2013 04:05 pm (UTC)
(Link)
Нишево летают...
(Reply) (Parent) (Thread)
[User Picture]
From:tobotras
Date:June 2nd, 2013 07:34 pm (UTC)
(Link)
Ну, большинство вообще формочки на VB магазинчики на PHP лабает...
(Reply) (Parent) (Thread)
[User Picture]
From:golosptic
Date:June 2nd, 2013 03:51 pm (UTC)
(Link)
спасибо за новых слов
пошёл читать в интернетах - понял, что интересное
(Reply) (Thread)
[User Picture]
From:avnik
Date:June 2nd, 2013 03:54 pm (UTC)
(Link)
Еще поэтому protobufs'ом соотвественно можно описывать структуры данных лежащие в каком нибудь хранилище.
(Reply) (Thread)
[User Picture]
From:alexott
Date:June 2nd, 2013 08:16 pm (UTC)
(Link)
а при использовании avro, можно даже не знать что за схема использовалась...
(Reply) (Parent) (Thread)
[User Picture]
From:avnik
Date:June 2nd, 2013 08:33 pm (UTC)
(Link)
А где эта штука используется?
(я первый раз от тебя про это услышал)
(Reply) (Parent) (Thread)
[User Picture]
From:alexott
Date:June 2nd, 2013 09:04 pm (UTC)
(Link)
вот например: https://cwiki.apache.org/confluence/display/AVRO/Powered+By+Avro
(Reply) (Parent) (Thread)
[User Picture]
From:avnik
Date:June 2nd, 2013 09:13 pm (UTC)
(Link)
ну из узнаных там -- какие-то огрызки кассандры и хадупа.

А так формат и правда простой, десериализатор можно за пару часов при наличии тестов написать.
(Reply) (Parent) (Thread)
[User Picture]
From:sergey_cheban
Date:June 2nd, 2013 08:19 pm (UTC)
(Link)
Насчёт корбы не знаю, а на MS RPC структуры данных можно описывать не хуже.
(Reply) (Parent) (Thread)
[User Picture]
From:avnik
Date:June 2nd, 2013 08:36 pm (UTC)
(Link)
MS RPC где-то за пределами MS используется?

Я же и ASN.1 могу вспомнить, мне не жалко.
(Reply) (Parent) (Thread)
[User Picture]
From:votez
Date:June 2nd, 2013 08:09 pm (UTC)
(Link)
корба - мертворождённое дитя теоретиков, которой было пользоваться ужасно неудобно, а реализовывать поддержку на стороне сервера - ещё геморройнее. Поэтому реализации были убоги и недоношены, что делало программирование с этим протоколом игрой в "выбери вендора так, чтобы ни с кем больше не интегрироваться и хотя бы плакать поменьше при сборке".
Не знаю, как его реанимировали с течением времени, но даже ещё в 2002 году дела обстояли именно так. Корба была красивым словом с ужасным смыслом.
(Reply) (Thread)
[User Picture]
From:tobotras
Date:June 2nd, 2013 08:40 pm (UTC)
(Link)
Нормально использовали корбу в продакшн в 2002м. Нормально используем корбу в продакшн в 2013м.
(Reply) (Parent) (Thread)
[User Picture]
From:votez
Date:June 2nd, 2013 08:41 pm (UTC)
(Link)
походу в жж есть портал в другую вселенную...
(Reply) (Parent) (Thread)
[User Picture]
From:sporadic_man
Date:June 2nd, 2013 09:00 pm (UTC)
(Link)
+ сюда
(Reply) (Parent) (Thread)
[User Picture]
From:sergey_cheban
Date:June 2nd, 2013 08:32 pm (UTC)
(Link)
> Там, где корба требует пересборки клиента для работы с новой версией сервера (ну, если менялся IDL), эти не
> требуют ничего.
Протобуф требует, чтобы к каждому полю был навеки прибит гвоздями номер. Я не уверен, что эта схема имеет какие-то реальные преимущества перед нумерацией версий интерфейса по принципу major.minor.

Да, кстати. Отдельная песня - сериализация repeated полей: protobuf не различает отсутствующее repeated поле и пустое repeated поле. Я бы не назвал эту идею удачной.
(Reply) (Thread)
[User Picture]
From:tnt23
Date:June 3rd, 2013 05:47 am (UTC)
(Link)
Про "ну" - это, по-моему, блюзовое такое "well...", или былинное "А расскажу-тко я вам, ребятушки". То есть седой рассказчик собирается с мыслями.
(Reply) (Thread)