Size: a a a

Архитектура ИТ-решений

2020 December 08

A

Alex in Архитектура ИТ-решений
Хотя может и правда (sic!) имеется ввиду мобильное приложение и пользователь, который раньше делал два жеста в минуту, а теперь делает двадцать жестов  в минуту и приложение не крашится
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Но вообще, конечно, в архитектуре взаимодействия мобилки и бэка много о чем можно поговорить.
Например про асинхронные запросы и обмен через web-socket вместо всего всякого REST...
Правда, описывать этот API сложно...
источник

A

Alex in Архитектура ИТ-решений
ладно, пообсуждали кликбейт заголовок и хватит
источник

p

pragus in Архитектура ИТ-решений
Phil Delgyado
Но вообще, конечно, в архитектуре взаимодействия мобилки и бэка много о чем можно поговорить.
Например про асинхронные запросы и обмен через web-socket вместо всего всякого REST...
Правда, описывать этот API сложно...
а чего сложного описывать? какой-нибудь json-rpc или grpc
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, это не swagger..
И, конечно же, не json-rpc и не grpc, это именно про честную асинхронщину на сообщениях
Типа "отправил запрос на историю операций", в ответ в канал (web-socket) приходят (когда придется) отдельные страницы или блоки.
источник

p

pragus in Архитектура ИТ-решений
Phil Delgyado
Ну, это не swagger..
И, конечно же, не json-rpc и не grpc, это именно про честную асинхронщину на сообщениях
Типа "отправил запрос на историю операций", в ответ в канал (web-socket) приходят (когда придется) отдельные страницы или блоки.
> "отправил запрос на историю операций", в ответ в канал

стриминг в grpc есть, причём даже дуплекс
источник

PD

Phil Delgyado in Архитектура ИТ-решений
grpc не всегда стоит использовать, если не контролируешь инфраструктуру. А то там будет балансер, который его не поддерживает - и опаньки.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну и мне не стриминг интересен, а события.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
и категорически не интересен gprc
источник

p

pragus in Архитектура ИТ-решений
Phil Delgyado
grpc не всегда стоит использовать, если не контролируешь инфраструктуру. А то там будет балансер, который его не поддерживает - и опаньки.
но ws приводит к аналогичной картине и проблемам балансировки.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, там я легко это могу сам делать, если нужно. Впрочем, в grpc тоже.
Хм, я подумаю, можем ли мы завязаться на http/2 и как поток событий сделать на grpc
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Хотя пилить кодогенераторы не хочется, конечно
источник
2020 December 09

p

pragus in Архитектура ИТ-решений
Phil Delgyado
Ну, там я легко это могу сам делать, если нужно. Впрочем, в grpc тоже.
Хм, я подумаю, можем ли мы завязаться на http/2 и как поток событий сделать на grpc
1. В случае что с grpc, что с ws балансер должен уметь разбирать payload.
2. Стриминг в grpc, насколько я помню, это как раз "сделать запрос и получить итератор, который возвращает сообщения".
3. Вся эта машинерия уже работает поверх стримов в http/2
4. ws поверх http/2 относительно недавно стандартизовали и не так уж много его реализаций
источник

p

pragus in Архитектура ИТ-решений
Из интересного - в grpc можно использовать flatbuffers вместо protobuf
источник

PD

Phil Delgyado in Архитектура ИТ-решений
1. Э, а зачем payload разбирать на балансере, поясни?
2. Вот я пытаюсь понять, как это будет работать при сбоях сети, например.Кто восстановит соединение и получит остатки по итератору.
5. Ну и как-бы обойтись без кодогенерации и protobuf (которые ужасны)
источник

p

pragus in Архитектура ИТ-решений
Phil Delgyado
1. Э, а зачем payload разбирать на балансере, поясни?
2. Вот я пытаюсь понять, как это будет работать при сбоях сети, например.Кто восстановит соединение и получит остатки по итератору.
5. Ну и как-бы обойтись без кодогенерации и protobuf (которые ужасны)
А как балансировать не пойми что?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, вообще-то достаточно только заголовков, а обычно и только url
Внутрь зачем лезть?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Балансировку можно делать еще до терминирования tls...
источник

p

pragus in Архитектура ИТ-решений
Phil Delgyado
Балансировку можно делать еще до терминирования tls...
Соединения в http2 персистентны, т.е. первый же вызов api example.com поднимет Коннект и все остальные запросы будут его переиспользовать.

Да и с чистым ws будет аналогично, ведь обычно хочется rpc балансировать  per call, а не per connection
источник

PD

Phil Delgyado in Архитектура ИТ-решений
pragus
Соединения в http2 персистентны, т.е. первый же вызов api example.com поднимет Коннект и все остальные запросы будут его переиспользовать.

Да и с чистым ws будет аналогично, ведь обычно хочется rpc балансировать  per call, а не per connection
Кто его перевосстанавливает (клиент заехал на машине в туннель) при разрыве?
источник