powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
25 сообщений из 265, страница 7 из 11
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40000843
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

Чем синхронизируется tcp/ip?
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40000844
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 - полностью синхронный на постоянных подключениях.
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40000846
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Чем синхронизируется tcp/ip?
Номером пакета в служебных полях протокола.
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40000848
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Номером пакета в служебных полях протокола.

Вот дела. А AMQP синхронизируется названием очереди в поле сообщения. Выходит, тоже синхронный протокол?
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40000863
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,
авторСинхронный запрос чего? Сайта sql.ru? Сеть открой и глянь, кто, что запрашивает и в каком порядке.
БЛ синхронна. А картинки и баннеры асинхронно.
Тебе что важнее?
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40000864
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
PetroNotC Sharp
У вади все на сокетах. У тебя все на асинхронности.

Потому что это - базовые вещи, на которые сверху лепят что хотят.
перелогинься. Вадя про базовые вещи говорит - прокладка.
Уничижительно.
Ты сказал что sql.ru устарел. Не на AJAX.
Жги ещё!
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40000954
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Андрей Панфилов
вот мы подключаемся к RabbitMQ, я так полагаю что в приложении нужен некий пул этих персистентных соединений

Зачем? По соединению за сообщение как в апаче?
У вас судя по всему возникают некие трудности с определениями. Вы уверены что понимаете смысл слова "пул"?

crutchmaster
Отправить 100 байт туда-сюда по поднятому соединению несоизмеримо с установкой нового? Ну хз
Вы видимо не в курсе, но для TCP/IP отправить что 100 байт, что 1, что 1000 - это одно и то же, попробуйте свой request/reply посчитать со стороны количества взаимодействий по TCP/IP и потом приходите (ну еще можете прочесть пару десятков RFC на HTTP, чтобы не возмущаться почему по HTTP throughput в 10 раз выше чем через поделку на erlang)
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40000959
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Так в нём из несихронного только O(ut)O(f)B(and) и, опять-таки - кто и когда этим пользовался?
Достоверно известно, что через OOB в Oracle реализована возможность останавливать запущенные запросы.
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001065
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Выходит, тоже синхронный протокол?
Вы всё пропустили - про "синхронный" RS-232 я уже ёрничал.
Если вы сделаете небольшое усилие и подумаете над передачей потока данных в рамках отдельного TCP-соединения, то, возможно, вам удастся сделать правильные выводы.

P.S.
Ещё в восьмидесятых годах прошлого века было показано, что "синхронная" семантика удалённого вызова процедур и "асинхронная" семантика обмена сообщениями полностью эквивалентны. Плюс есть вариант для "асинхронный удалённый вызов процедур".
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001066
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
Достоверно известно, что через OOB в Oracle реализована возможность останавливать запущенные запросы.
Замечательно.
А в вашем прикладном коде вы использовали OOB-флаг для TCP-сокетов? А ваши коллеги? А часто?
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001081
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Что БЛ? Её _принципиально_ нельзя сделать асинхронной, чтобы ты отправлял запрос и ждал колбек? Можно на примере того же ajax. Вешаешь юзерскрипт и херак, любой древний вебчик вдруг превращается в spa и из "синхронного" становиться "асинхронным". Чудеса. Но как же так, хттп же синхронный протокол... Может ты не в курсе про download manager'ы, которые кочают один url в дохера потоков? Как такое может быть в синхронном протоколе, где все куски сообщения должны передаваться синхронно от первого до последнего? Или ты не в курсе про http туннели через http прокси, где вообще можно гонять хоть ssh. Как такое возможно? Хттп же должен синхронно передать данные и закрыться.

какая-то бесовщина уже началась... Если мы ждем откуда-то вменяемого ответа (а не квитанции о получении), то это взаимодействие синхронное. Никакой асинхронности в AJAX нет, оно так названо только для того, чтобы веб-макаки за данными ходили в другом потоке, а не в UI, при этом в большинстве случаев этот AJAX заканчивается тем, что при отправке запроса пользователю начинает показываться крутилка/спинер/неведомаяхерня, а при получении ответа она убирается - какое здесь к черту асинхронное взаимодействие?
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001166
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
какая-то бесовщина уже началась...

Бесовщина началась, когда некоторые начали утверждать, что amqp - это аснихронно и никак иначе, независимо от того, что они там под этим подразумевали.
Андрей Панфилов
чтобы веб-макаки за данными ходили в другом потоке

Там один поток.
Андрей Панфилов
здесь к черту асинхронное взаимодействие?

Вопрос не ко мне.


Андрей Панфилов
Если мы ждем откуда-то вменяемого ответа (а не квитанции о получении), то это взаимодействие синхронное.

Ок. Давайте отталкиваться от этого определения. В AMQP вы ждем вменяемого ответа (а не квитанции о получении) из очереди. Вопрос синхронности/асинхронности закрыт за отсутствием смысла.
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001169
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,

авторчерез AMQP-брокер, который осуществляет маршрутизацию, возможно гарантирует доставку, распределение потоков данных, подписку на нужные типы сообщений.
В ТЗ есть эти 4 функционала как нужные?
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001229
graycode
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Панфилов
Никакой асинхронности в AJAX нет, оно так названо только для того, чтобы веб-макаки за данными ходили в другом потоке, а не в UI

В javascript нет потоков, в нем не может быть асинхронного выполнения скрипта, однако браузер приложение многопоточное, за счет этого AJAX отправляет запросы и скрипт продолжает работу не дожидаясь выполнения запроса и получения результата, при этом запросов отправленных последовательно, но выполняющихся параллельно может быть много. Когда браузер получает ответ на запрос из js, он ставит соответствующий делегат в очередь на выполнение и когда скрипт закончит свою работу на исполнение пойдет очередь делегатов с результатами выполненных запросов.

PS: to all, по моему в своем горячем обсуждении вы смешали в кучу многопоточность и асинхронность.
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001254
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
В ТЗ есть эти 4 функционала как нужные?

В тз есть микросервисы. Если это - не нужные функции, ну ок. Но тогда нахрена вообще микросервисы и хттп, обычные вызовы внутри монолита уделают хттп без шансов и ТСу не надо будет делать себе голову со сваггером.
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001256
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
graycode
по моему в своем горячем обсуждении вы смешали в кучу многопоточность и асинхронность.

В этом сраче каждый считает под (а)синхронностью что-то своё, сокровенное, о чем боится всем рассказать.
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001258
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
попробуйте свой request/reply посчитать со стороны количества взаимодействий по TCP/IP и потом приходит

Их столько же, сколько при установки хттп.

Андрей Панфилов
ну еще можете прочесть пару десятков RFC на HTTP, чтобы не возмущаться почему по HTTP throughput в 10 раз выше чем

Ну потому что там заворачивают кучу хттп запросов в одно тцп соединение, что конечно же, можно делать и в поделке на ерланге. Только зачем? Если модель взаимодействия микросервисов вида A <-> B <-> C, то нахрена они вообще нужны? Монолит сделать проще, накладных расходов на сеть у вызова метода нет. Дрочить на throughput, так дрочить по-полной.
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001263
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
PetroNotC Sharp
В ТЗ есть эти 4 функционала как нужные?

В тз есть микросервисы. Если это - не нужные функции, ну ок. Но тогда нахрена вообще микросервисы и хттп, обычные вызовы внутри монолита уделают хттп без шансов и ТСу не надо будет делать себе голову со сваггером.
микросервисами он назвал обычное РЕСТ взаимодействие.
Нахрена тут гарантированная доставка? Маршрутизация? Выделенный сервер специально под брокер и очереди?
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001274
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,

>Если модель взаимодействия микросервисов вида A <-> B <-> C, то нахрена они вообще нужны?
= академически ты прав. Микросервисы в идеале асинхронны и подписываются на события. "Завели заказ 12345. Все кого это интересуют подписываются"))).
Но микросервисы, как и 100% RESTfull, никто не видел. Недостижимый идеал.
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001329
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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, так дрочить по-полной.
Чет здесь я вас не понял... Про производительность очередей байки травить начали именно вы, а тут вот выяснилось, что в очередях что latency, что throughput, откровенно говоря, так себе. Что еще у вашего RabbitMQ остается? Призрачная надежность при наличии single point of failure?
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001331
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
"Завели заказ 12345. Все кого это интересуют подписываются"
Так ты корову не продашь... "завели заказ ..." - это бизнес-событие, тут же обещается счастье если гнать RPC через очереди
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001405
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
PetroNotC Sharp
"Завели заказ 12345. Все кого это интересуют подписываются"
Так ты корову не продашь... "завели заказ ..." - это бизнес-событие, тут же обещается счастье если гнать RPC через очереди
дак это теретики микросервисов. С учеными степенями. Я сам не люблю их)))
У них для контроля цепочки бизнес логики заводится сквозной еще один процесс))).
Раз низкое связывание значит повышенный контроль (с)
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001410
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,
crutchmaster перевел стрелки на микросервисы ТС.
Я же предлагаю о них вообще не говорить.
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001423
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как вам такая схема интеграции. есть мешок сервисов. пишут в бд. другим сервисам надо ловить изменения-обновления-удаления-создания, пилим триггер. триггер все изменения кидает в таблицу. на таблицу натравливаем поллингом апстрим сервис который апдейты выгребает и стримит в кафку. с другой стороны мешок консамеров что что-то там делают. мы использовали два шаблона интеграции

а потом я нашел такую штуку:
https://github.com/debezium/debezium

может кто покритикует такой подход?
...
Рейтинг: 0 / 0
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
    #40001424
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
есть мешок сервисов. пишут в бд. другим сервисам надо ловить изменения-обновления-удаления-создания, пилим триггер.
Зависит от базы, но подписаться на событие "произошли изменения" - вполне можно.
...
Рейтинг: 0 / 0
25 сообщений из 265, страница 7 из 11
Форумы / Java [игнор отключен] [закрыт для гостей] / Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]