Size: a a a

Programming Offtop

2020 December 10

OY

Oleg Yukhnevich in Programming Offtop
Anton Korotkikh
ну так я читал, ничего такого не увидел. обычный дуплекс с изменяемым трасопртным слоем. выглядело интересно, по реалиации оказалось нежизнеспособно за пределами жвм
Да вроде раст, го, питон есть)
Котлин вон тожн
источник

AI

Aynur Iceman in Programming Offtop
Anton Korotkikh
так я видел. открыл репу ноды - какой-то вообще пиздец адовый. будто те кто это делали, ноду первый раз в жизни видели. вся хуйня в одной куче - траспайлинг, самопальные промисы и deffered-залупа всякая, самоплаьная реализация стримов вместо стд.либы, хуёвая дока, пиздецовый код примеров, всратый апи с subscribe через subscribe ехал, сделал subscribe и так умер запуставшись в колбеках
можешь скинуть пример хорошего кода на js?, что-бы я научился на js писать )
источник

PD

Phil Delgyado in Programming Offtop
Oleg Yukhnevich
А что за resumability в http?
Здесь одно и самых главных преимуществ, что это всё есть в спеке, то есть если оно сделано в имплементации под java и cpp например, то будет работать из коробки
Сейчас не всё есть везде конечно, но будет:)
Ну, это когда будет куча реализация протокола всюду, когда его будут понимать все промежуточные решения типа балансеров, проксей и т.п.
А сейчас как-то стремно, тем более что есть набор библиотек и решений, покрывающих те же задачи
источник

PD

Phil Delgyado in Programming Offtop
Anton Korotkikh
стримы есть в grpc тоже, а также автоматические ретраи на уровне протокола, балансировка там тоже есть, ещё там есть поддержка из коробки со стороны популярных проксей. выражение reactive streams лучше оставить для маркетрологов, это не более чем базворд. либы за пределами жвм - далеко не так хороши и поддерживаемы (у grpc с этим всё ок).
Даже не в grpc, а в http/2, насколько я помню.
источник

AK

Anton Korotkikh in Programming Offtop
Aynur Iceman
можешь скинуть пример хорошего кода на js?, что-бы я научился на js писать )
хороший код - простой код, с минимальным количеством лишних абстракций. раз говорим про мессенджинг, вот например натс
https://github.com/nats-io/nats.js#basic-usage

простые примеры, простая либа
источник

AM

Andrew Mikhaylov in Programming Offtop
Смотрите, как свежо! @noraltavir
источник

AI

Aynur Iceman in Programming Offtop
Anton Korotkikh
хороший код - простой код, с минимальным количеством лишних абстракций. раз говорим про мессенджинг, вот например натс
https://github.com/nats-io/nats.js#basic-usage

простые примеры, простая либа
благодарю
источник

AK

Anton Korotkikh in Programming Offtop
Phil Delgyado
Даже не в grpc, а в http/2, насколько я помню.
в grpc тоже, стрим хттп2 - это для мультиплекса отдельного соединения, стрим внутри grpc уже для некой логической сущности, подсветить что будет возвращена некая последовтаельность сообщений
источник

I

Igor in Programming Offtop
Andrew Mikhaylov
Смотрите, как свежо! @noraltavir
источник

PD

Phil Delgyado in Programming Offtop
Anton Korotkikh
в grpc тоже, стрим хттп2 - это для мультиплекса отдельного соединения, стрим внутри grpc уже для некой логической сущности, подсветить что будет возвращена некая последовтаельность сообщений
Я про то, что не обязательно привязываться к grpc, можно и на http/2 сделать, если нужно.
источник

AM

Andrew Mikhaylov in Programming Offtop
Да-да)
источник

AK

Anton Korotkikh in Programming Offtop
Phil Delgyado
Я про то, что не обязательно привязываться к grpc, можно и на http/2 сделать, если нужно.
можно и на http1, который и есть стрим в чисто виде, открывается tcp дырка туда начинает лится данные, либо до размера нагрузки либо до разделилитей в случае multipart. чем не стрим, но без backpressure вменяемого
источник

AK

Anton Korotkikh in Programming Offtop
главный вопрос - зачем? если уже всё сделанно в других решениях
источник

PD

Phil Delgyado in Programming Offtop
Anton Korotkikh
можно и на http1, который и есть стрим в чисто виде, открывается tcp дырка туда начинает лится данные, либо до размера нагрузки либо до разделилитей в случае multipart. чем не стрим, но без backpressure вменяемого
Ну, там сложнее двусторонний обмен делать, всякие костыли типа longpooling и т.п.
На http/2 попроще и попроизводительнее.
Т.е. задача двустороннего протокола с переподключением есть, а grpc брать не хочется.
источник

AK

Anton Korotkikh in Programming Offtop
Phil Delgyado
Ну, там сложнее двусторонний обмен делать, всякие костыли типа longpooling и т.п.
На http/2 попроще и попроизводительнее.
Т.е. задача двустороннего протокола с переподключением есть, а grpc брать не хочется.
а смысл не брать grpc? куча либ, готовых решений

если в конексте простоты, то самый простой дуплекс из популряных это наверное вебсокет. только http как зависмость для хендшейка тащит, а так - вот тебе собщение - делай с ним что хочешь, никаких абстракций
источник

PD

Phil Delgyado in Programming Offtop
Anton Korotkikh
а смысл не брать grpc? куча либ, готовых решений

если в конексте простоты, то самый простой дуплекс из популряных это наверное вебсокет. только http как зависмость для хендшейка тащит, а так - вот тебе собщение - делай с ним что хочешь, никаких абстракций
Охх. Нужна кривая кодогенерация, плохая поддержка на уровне всяких балансировщиков и т.п., убогие возможности по управлению десериализацией. Т.е. меня не столько grpc бесит, сколько протобуф и подход к реализация сервера.
источник

AK

Anton Korotkikh in Programming Offtop
Phil Delgyado
Охх. Нужна кривая кодогенерация, плохая поддержка на уровне всяких балансировщиков и т.п., убогие возможности по управлению десериализацией. Т.е. меня не столько grpc бесит, сколько протобуф и подход к реализация сервера.
ну если речь про систему только в пределах жвм, то можно и своё сделать. а если дружить всех со всеми, то я даже хз, что может быть лучше протобуфа. в жвм хуёвый msgpack, в ноде торомзной avro, в го протобаф максимально любим, thrift мёртв практически. если не прото то кто?
источник

PD

Phil Delgyado in Programming Offtop
Anton Korotkikh
ну если речь про систему только в пределах жвм, то можно и своё сделать. а если дружить всех со всеми, то я даже хз, что может быть лучше протобуфа. в жвм хуёвый msgpack, в ноде торомзной avro, в го протобаф максимально любим, thrift мёртв практически. если не прото то кто?
Это да, если в проекте куча стеков, то или протобаф или json/swagger, увы.
Но иногда дешевле оставаться на моностеке
источник

AK

Anton Korotkikh in Programming Offtop
Phil Delgyado
Это да, если в проекте куча стеков, то или протобаф или json/swagger, увы.
Но иногда дешевле оставаться на моностеке
в джвае на моностек вообще угорать люто можно. иногда завидую, можно постелить внутри кластера какой-нибудь хазелькаст или vertx и общать по их внутренним протоклам шин и топиков
источник

PD

Phil Delgyado in Programming Offtop
Anton Korotkikh
в джвае на моностек вообще угорать люто можно. иногда завидую, можно постелить внутри кластера какой-нибудь хазелькаст или vertx и общать по их внутренним протоклам шин и топиков
Ну, я вот хазелкаст побаиваюсь (старые травмы, сейчас, говорят, работает уже).
Но вот возможность в IDE увидеть по одной кнопке получателей и отправителей сообщений всегда радует.
И на компайл-тайм посмотреть, что сломается при смене API/msgtype
источник