170 похожих чатов

Здравствуйте, есть ли смысл в переводе приложения на websocket вместо

http?

40 ответов

21 просмотр

У тебя есть реалтайм данные? ) котировки?

Dmitry-Danilov Автор вопроса

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

Нет. При хорошем интернете http скорости хватит, а для UX достаточно будет "ощущения" скорости. При плохом интернете ws всё также надо будет переподключать

А в чем прирост скорости по сравнению с обычным http запросом?

Экономия на установке соединения)

keep alive?

Такое же масштабирование как в http - поднял несколько серверов

А чем это будет лучше sse или ws?

Нет http заголовок Можно слать бинарные данные

Ws балансируется хуже

Не совсем то же. в http запрос-ответ, и можно один запрос в один сервер, второй в другой, а запросы обычно не связаны друг с другом. С WS чаще нужно общее состояние и sticky sessions

А в http бинарники не послать?

Dmitry-Danilov Автор вопроса

Неправильно выразился, имел в виду микросервисы, не очень удобно. Плюс по архитектуре мне не очень нравятся возможности

Dmitry-Danilov Автор вопроса

Тоже справедливо

В http у тебя сессия - такое же общее состояние

Обычно не шлют

Шлют. Картинки ж не в base64 приходят)

Я не про картинки а про данные

Но их тоже шлют. И идут они бинарно, а не текстом. Потому что http не имеет ограничений на тело. Тот же grpc шлёт бинарники, на сколько я помню

Непонятно, зачем кому то понадобились данные в бинарном виде на клиенте 🤔

Экономия на трафике, на сериализации, "обфускация" :D

ещё есть всякие protobuf, thrift

Сэкономить на трафике можно и обычным gzip

Это другой аспект

если есть ожидаемые данные, то бинарные данные в выигрыше, только схему данных на фронте и беке нужно иметь)

тоесть ты можешь условные свойства сжать до каких то обозначений и их значения ещё сжать

А gzip на что?

камон я тебе обяснил

Давайте сначала, что вы под бинарными понимаете?

я ничего не понимаю в етом, я просто пишу тебе абстрактно thrift например шлешь данные структурами, которые парсятся по схеме на беке/фронте благодаря этому можешь отбросить в постдате те же самые property в json потому что у тебя есть схема, и по ней можешь восстановить отброшеннве проперти хз, мб это сериализация называется

очень абстрактно))

Отправка последовательностью байт в некоторой схеме, которые понимает получатель. JSON, XML и тп - текстовый формат. Это отправка текста в некоторой текстовой кодировке (UTF-8 и тп). Текста в некотором формате, который умеет потом десериализовываться в данные. И он сначала будет парситься, как текст, а не как просто последовательность чисел. Простые отличия, число "2000000000" текстом - это 10 байт (на 10 символов), а бинарно это число на 4 байта. Аналогично, в тексте тратится объём на имена свойств, на синтаксис, на всё то, что делает данные читаемыми для человека. В более сложных случаях бинарный формат лишён ограничений, которые дают популярные текстовые. Например, может позволить иметь явные ссылки, или типы данных, которых нет в формате сериализации. Конечно, это уже зависит от формата конкретного. Но текстовые используют лишь несколько конкретных - json, xml.

Спасибо, но как это в контексте браузера? Предлагаете thrift прямо клиенту кидать?

Для использования этого сайта, пожалуйста установите Apache Thrift Deserializer for Chrome

Я не знаком с thrift

ору, он не про него, а в целом да, так и кидать просто добавь схемы и свой код который будет обрабатывать данные

Имеет, но такие вещи как кеширование придётся самому реализовывать при необходимости

Перечитайте тред

Grpc на каждое сообщение новый запрос шлёт?

Я не знаю, как он в вебе работает( У них недавно ещё вроде обновление было

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта