|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, Чем синхронизируется tcp/ip? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 12:31 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
crutchmaster где главный веб протокол работает нихера не синхронно I(nternet)P(rotocol)? А кто и когда использовал его в прикладном коде? U(ser)D(atagram)P(rotocol)? А вы часто им пользуетесь? T(ransmission)C(ontrol)P(rotocol)? Так в нём из несихронного только O(ut)O(f)B(and) и, опять-таки - кто и когда этим пользовался? H(yper)T(ext)T(ransport)P(rotocol)? Вплоть до версии 1.1 - полностью синхронный на постоянных подключениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 12:31 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
crutchmaster Чем синхронизируется tcp/ip? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 12:33 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Номером пакета в служебных полях протокола. Вот дела. А AMQP синхронизируется названием очереди в поле сообщения. Выходит, тоже синхронный протокол? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 12:36 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
crutchmaster, авторСинхронный запрос чего? Сайта sql.ru? Сеть открой и глянь, кто, что запрашивает и в каком порядке. БЛ синхронна. А картинки и баннеры асинхронно. Тебе что важнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 13:16 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
crutchmaster PetroNotC Sharp У вади все на сокетах. У тебя все на асинхронности. Потому что это - базовые вещи, на которые сверху лепят что хотят. Уничижительно. Ты сказал что sql.ru устарел. Не на AJAX. Жги ещё! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 13:19 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
crutchmaster Андрей Панфилов вот мы подключаемся к RabbitMQ, я так полагаю что в приложении нужен некий пул этих персистентных соединений Зачем? По соединению за сообщение как в апаче? crutchmaster Отправить 100 байт туда-сюда по поднятому соединению несоизмеримо с установкой нового? Ну хз ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 15:06 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Так в нём из несихронного только O(ut)O(f)B(and) и, опять-таки - кто и когда этим пользовался? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 15:12 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
crutchmaster Выходит, тоже синхронный протокол? Если вы сделаете небольшое усилие и подумаете над передачей потока данных в рамках отдельного TCP-соединения, то, возможно, вам удастся сделать правильные выводы. P.S. Ещё в восьмидесятых годах прошлого века было показано, что "синхронная" семантика удалённого вызова процедур и "асинхронная" семантика обмена сообщениями полностью эквивалентны. Плюс есть вариант для "асинхронный удалённый вызов процедур". ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 17:58 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
Андрей Панфилов Достоверно известно, что через OOB в Oracle реализована возможность останавливать запущенные запросы. А в вашем прикладном коде вы использовали OOB-флаг для TCP-сокетов? А ваши коллеги? А часто? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 18:00 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
crutchmaster Что БЛ? Её _принципиально_ нельзя сделать асинхронной, чтобы ты отправлял запрос и ждал колбек? Можно на примере того же ajax. Вешаешь юзерскрипт и херак, любой древний вебчик вдруг превращается в spa и из "синхронного" становиться "асинхронным". Чудеса. Но как же так, хттп же синхронный протокол... Может ты не в курсе про download manager'ы, которые кочают один url в дохера потоков? Как такое может быть в синхронном протоколе, где все куски сообщения должны передаваться синхронно от первого до последнего? Или ты не в курсе про http туннели через http прокси, где вообще можно гонять хоть ssh. Как такое возможно? Хттп же должен синхронно передать данные и закрыться. какая-то бесовщина уже началась... Если мы ждем откуда-то вменяемого ответа (а не квитанции о получении), то это взаимодействие синхронное. Никакой асинхронности в AJAX нет, оно так названо только для того, чтобы веб-макаки за данными ходили в другом потоке, а не в UI, при этом в большинстве случаев этот AJAX заканчивается тем, что при отправке запроса пользователю начинает показываться крутилка/спинер/неведомаяхерня, а при получении ответа она убирается - какое здесь к черту асинхронное взаимодействие? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 18:39 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
Андрей Панфилов какая-то бесовщина уже началась... Бесовщина началась, когда некоторые начали утверждать, что amqp - это аснихронно и никак иначе, независимо от того, что они там под этим подразумевали. Андрей Панфилов чтобы веб-макаки за данными ходили в другом потоке Там один поток. Андрей Панфилов здесь к черту асинхронное взаимодействие? Вопрос не ко мне. Андрей Панфилов Если мы ждем откуда-то вменяемого ответа (а не квитанции о получении), то это взаимодействие синхронное. Ок. Давайте отталкиваться от этого определения. В AMQP вы ждем вменяемого ответа (а не квитанции о получении) из очереди. Вопрос синхронности/асинхронности закрыт за отсутствием смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 08:01 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
crutchmaster, авторчерез AMQP-брокер, который осуществляет маршрутизацию, возможно гарантирует доставку, распределение потоков данных, подписку на нужные типы сообщений. В ТЗ есть эти 4 функционала как нужные? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 08:37 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
Андрей Панфилов Никакой асинхронности в AJAX нет, оно так названо только для того, чтобы веб-макаки за данными ходили в другом потоке, а не в UI В javascript нет потоков, в нем не может быть асинхронного выполнения скрипта, однако браузер приложение многопоточное, за счет этого AJAX отправляет запросы и скрипт продолжает работу не дожидаясь выполнения запроса и получения результата, при этом запросов отправленных последовательно, но выполняющихся параллельно может быть много. Когда браузер получает ответ на запрос из js, он ставит соответствующий делегат в очередь на выполнение и когда скрипт закончит свою работу на исполнение пойдет очередь делегатов с результатами выполненных запросов. PS: to all, по моему в своем горячем обсуждении вы смешали в кучу многопоточность и асинхронность. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 11:52 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp В ТЗ есть эти 4 функционала как нужные? В тз есть микросервисы. Если это - не нужные функции, ну ок. Но тогда нахрена вообще микросервисы и хттп, обычные вызовы внутри монолита уделают хттп без шансов и ТСу не надо будет делать себе голову со сваггером. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 12:52 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
graycode по моему в своем горячем обсуждении вы смешали в кучу многопоточность и асинхронность. В этом сраче каждый считает под (а)синхронностью что-то своё, сокровенное, о чем боится всем рассказать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 12:53 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
Андрей Панфилов попробуйте свой request/reply посчитать со стороны количества взаимодействий по TCP/IP и потом приходит Их столько же, сколько при установки хттп. Андрей Панфилов ну еще можете прочесть пару десятков RFC на HTTP, чтобы не возмущаться почему по HTTP throughput в 10 раз выше чем Ну потому что там заворачивают кучу хттп запросов в одно тцп соединение, что конечно же, можно делать и в поделке на ерланге. Только зачем? Если модель взаимодействия микросервисов вида A <-> B <-> C, то нахрена они вообще нужны? Монолит сделать проще, накладных расходов на сеть у вызова метода нет. Дрочить на throughput, так дрочить по-полной. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 12:57 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
crutchmaster PetroNotC Sharp В ТЗ есть эти 4 функционала как нужные? В тз есть микросервисы. Если это - не нужные функции, ну ок. Но тогда нахрена вообще микросервисы и хттп, обычные вызовы внутри монолита уделают хттп без шансов и ТСу не надо будет делать себе голову со сваггером. Нахрена тут гарантированная доставка? Маршрутизация? Выделенный сервер специально под брокер и очереди? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 13:08 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
crutchmaster, >Если модель взаимодействия микросервисов вида A <-> B <-> C, то нахрена они вообще нужны? = академически ты прав. Микросервисы в идеале асинхронны и подписываются на события. "Завели заказ 12345. Все кого это интересуют подписываются"))). Но микросервисы, как и 100% RESTfull, никто не видел. Недостижимый идеал. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 13:28 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
crutchmaster Их столько же, сколько при установки хттп. - для HTTP/1.0 нужно 3 (SYN) + 2 * 2 (DATA + ACK) + 4 (FIN) = 11 пакетов, - для request/reply на AMQP: 2 * 2 (DATA + ACK на создание очереди) + 2 * 2 (DATA + ACK на отправку) * 4 = 20 пакетов т.е. если мы говорим о том, что в случае HTTP/1.0 транспортные издержки довольно высокие, то в случае request/reply на AMQP они просто безумные. crutchmaster Дрочить на throughput, так дрочить по-полной. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 15:00 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp "Завели заказ 12345. Все кого это интересуют подписываются" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 15:02 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
Андрей Панфилов PetroNotC Sharp "Завели заказ 12345. Все кого это интересуют подписываются" У них для контроля цепочки бизнес логики заводится сквозной еще один процесс))). Раз низкое связывание значит повышенный контроль (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 16:59 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
Андрей Панфилов, crutchmaster перевел стрелки на микросервисы ТС. Я же предлагаю о них вообще не говорить. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 17:01 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
а как вам такая схема интеграции. есть мешок сервисов. пишут в бд. другим сервисам надо ловить изменения-обновления-удаления-создания, пилим триггер. триггер все изменения кидает в таблицу. на таблицу натравливаем поллингом апстрим сервис который апдейты выгребает и стримит в кафку. с другой стороны мешок консамеров что что-то там делают. мы использовали два шаблона интеграции а потом я нашел такую штуку: https://github.com/debezium/debezium может кто покритикует такой подход? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 17:32 |
|
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
|
|||
---|---|---|---|
#18+
andreykaT есть мешок сервисов. пишут в бд. другим сервисам надо ловить изменения-обновления-удаления-создания, пилим триггер. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 17:34 |
|
|
start [/forum/topic.php?fid=59&startmsg=40000843&tid=2120626]: |
0ms |
get settings: |
22ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
453ms |
get tp. blocked users: |
1ms |
others: | 288ms |
total: | 841ms |
0 / 0 |