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

А что он в этом толке предлагает взамен рест? Очереди?

31 ответов

56 просмотров

Нет) видео клевое

Как будто кроме реста ничего нету в этом мире

из заголовка выглядит как CQRS

лично мне импонирует AMQP based RPC 😊

хотя вроде одно другого не исключает https://lostechies.com/jimmybogard/2016/06/01/cqrs-and-rest-the-perfect-match/

В общих чертах его идея такая: 1) вместо rest сделать RPC-подобный протокол, то есть JSON с полями actions и params 2) все команды делятся на read-only и mutable 3) команды на чтение исполняются сразу, а на изменение уходят в кафку. В ответ на изменение приходит айди задачи, которую клиент будет трекать 4) фоновые воркеры разгребают кафку и пишут в задачу результат иили ошибку 5) в результате мы храним историю команд, ее можно переиграть. 6) За счет добавления новых воркеров система масштабируется, можно добавлять долгие задачи, например выгрузку истории, отправку писем, формирование PDF и другое

нет ли тут неудобства для маленьких проектов?

1 прям бальзам на душу, как же бесит традиционное обилие параметров разного типа напиханных куда только можно…

не ясно, как клиенту трекать задачу по пункту 3

в ответ на изменение сущности приходит json с полем job-id = xxxxxxxxxxx

это понятно технология треканья какая? сокеты? повторяющиеся http запросы? всё усложняется, если отвечающая сторона не может отправить ответ спрашивающей напрямую

почему-то не увидел это сообщение. Можно и вебсокеты, но если задан Keep alive, то обычные запросы будут так же работать

Aleksei- Автор вопроса

мы 1. применяли у себя, все запросы только POST в хидере токен, в тело - json со всеми параметрами, все. Например POST get-users, add-users и тд. Ощущения только положительные остались.

А почему только POST? Почему на рид команды не гет?

клиента будет сложней реализовывать для разного способа вызова команд, а плюсов мало учитывая нежелательность кэширования GET, плюсов с GET даже нет

Aleksei- Автор вопроса

мы используем это для межсервисного взаимодействия, так что все клиенты сами микросервисы

ну, в общем, я за такие решения, когда вопрошающий оставляет свой обратный адрес, куда получает ответ по готовности

Ну как раз CQRS. Комаеды кешировать не надо, конечно. А query пусть кешируются.

это неважно когда реализуешь протокол общения, то включать в него выбор между GET/POST по названию метода — избыточное усложнение

1. Читаем список 2. Выполняем команду на изменение списка 3. Перечитываем список как в 1, пусть кэшируется?

Aleksei- Автор вопроса

если я правильно понимаю вопрос, то POST

так тоже можно, если речь о сервисах. А если получатель это клиент, то как он оставит свой урл для нотификации? Только долбиться остается

вот и я ему так ответил, что «так проще»

ну, бывают же клиенты с постоянным подключением к чему-нибудь, на тех же вебсокетах

Aleksei- Автор вопроса

🤦‍♂️ ага, я тепреь понял, а сначала запутался)

можно и с лонг поллингом через прокси 😊

а зачем разные эндпойнты вообще?

Aleksei- Автор вопроса

чтобы было видно что торчит из микросервиса, описание было. Эндпоинты может support команда дернуть

а, ну только если для этого, так-то никто не мешает упаковать всё в одну json-ку

Aleksei- Автор вопроса

в больших проектах "в одну жсонку" это крайность. Везде нужен компромис

Я такое практикую.

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Карта сайта