| 
 | 
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Вот есть некий набор микросервисов с набором спецификаций на OpenAPI, который теоретически вроде как призван разрулить бардак, однако на практике у меня возникают некого рода "трудности", а именно: - существует кодогенератор ( https://github.com/swagger-api/swagger-codegen ) который умеет генерировать интерфейсы и DTO, он мне не особо нравится, поскольку хочет чтобы я использовал OffsetDateTime, а у меня несколько иные предпочтения как работать со временем, ну да ладно, вроде как получить то что я ожидаю можно, хоть и через жопу - в OpenAPI можно задекларировать, что на разные статусы можно возвращать разный тип результата, и с этим как-то вообще непонятно что делать, т.е. генератор в интерфейсе лепит ResponseEntity<DTOType>, а OpenAPI-спецификация разрешает в военное возвращать что-то еще (там по большей части другой результат возвращается на 4xx и 5xx и можно извернуться через выкидывание исключения, но как-то вообще криво) - есть эндпойнты с кучей необязательных параметров (например поиск чего-то по набору полей), вот если использовать в качестве клиента jaxrs или feign, то нужно либо все эти параметры таскать за собой, либо наследовать клиентский интерфейс и в нем через default вычленять параметры, которые нужны это так у всех или только у меня? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 14.09.2020, 09:21 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей Панфилов- в OpenAPI можно задекларировать, что на разные статусы можно возвращать разный тип результата, и с этим как-то вообще непонятно что делать, т.е. генератор в интерфейсе лепит ResponseEntity<DTOType>, а OpenAPI-спецификация разрешает в военное возвращать что-то еще (там по большей части другой результат возвращается на 4xx и 5xx и можно извернуться через выкидывание исключения, но как-то вообще криво) Видел решение этой проблемы через ручное определение типа объекта. В интерфейсе определяли ResponseEntity<String>, а при получении ответа анализировали код ошибки HTTP и сами из строки формировали объект. https://stackoverflow.com/questions/35797762/how-to-use-resttemplate-with-multiple-response-types/35798228#35798228 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 14.09.2020, 10:46 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  А что этот feign толковый? Очень на Retrofit похож ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 14.09.2020, 13:54 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  chpasha А что этот feign толковый? Очень на Retrofit похож ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 14.09.2020, 15:09 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей Панфилов, Микросервисы через хттп - это странно. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 07:07 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  crutchmaster Микросервисы через хттп - это странно. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 08:07 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей Панфилов O_o, на голубиной почте нужно делать? amqp/kafka. Нахрена соединение поднимать на каждое сообщение? Это же дорохо. Ну и прочие pub/sub и каналы обмена как делать на хттп? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 08:40 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  crutchmaster amqp/kafka. Нахрена соединение поднимать на каждое сообщение? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 09:08 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей Панфилов У меня есть запрос (не команда и не событие), ответ на который я хочу получить здесь и сейчас amqp умеет так делать тоже. Андрей Панфилов складывать в условно персистентное хранилище? rabbitmq, например, это - брокер сообщений, а не хранилище. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 09:37 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей Панфилов зачем Ну, например, чтобы не просрать запрос, пока http шляпа делает рестарт. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 10:31 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  crutchmaster Андрей Панфилов У меня есть запрос (не команда и не событие), ответ на который я хочу получить здесь и сейчас amqp умеет так делать тоже. crutchmaster Ну, например, чтобы не просрать запрос, пока http шляпа делает рестарт. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 11:57 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  crutchmaster Андрей Панфилов O_o, на голубиной почте нужно делать? amqp/kafka. Нахрена соединение поднимать на каждое сообщение? Это же дорохо. Ну и прочие pub/sub и каналы обмена как делать на хттп? кафка головного мозга подоспела (это не к тебе лично это мысли вслух) юзать надо то что надо а не кафку всегда везде. если тебе нужны синхронные вызовы и ты поверх кафки начнешь колхозить костылятину, то уж лучше хттп или любой другой формат рпц. имхо. есть распределение где асинхронка - там очереди или какие нибудь ящики, если синхронка то - юзай синхронку а не сову на кактус натягивай. зы. во как я заговорил :) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 12:02 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Я не понимаю каким образом мы в топик втащили Кафку? Какой был информационный повод для этого? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 12:08 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mayton Я не понимаю каким образом мы в топик втащили Кафку? Какой был информационный повод для этого? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 12:24 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  andreykaT там очереди или какие нибудь ящики, если синхронка то - юзай синхронку Чем принципиально брокер сообщений хуже этой вашей синхронки с хттп, когда каждый сам себе брокер? Нужен будет балансировщик, также притяните сюда nginx и какая в *опу разница в итоге? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 12:43 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей Панфилов совершенно не означает что вызов действительно синхронный, т.е. никаких контрактов для отвечающей стороны здесь не появляется. А зачем вам вообще какие-то гарантии, если данным отношение типа "Ну просрали и просрали запрос, что с того?" Андрей Панфилов А ответ на запрос, который "не просрали", спустя минуту мне уже не нужен. Так никто не мешает брокеру его дропнуть через n сек в очереди. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 12:46 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  crutchmaster А зачем вам вообще какие-то гарантии, если данным отношение типа "Ну просрали и просрали запрос, что с того?" ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 13:05 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  crutchmaster andreykaT там очереди или какие нибудь ящики, если синхронка то - юзай синхронку Чем принципиально брокер сообщений хуже этой вашей синхронки с хттп, когда каждый сам себе брокер? Нужен будет балансировщик, также притяните сюда nginx и какая в *опу разница в итоге? тем что нгиникс по-сути тот же брокер, только синхронный. разница в том что если тебе надо формат взаимодействия запрос-ответ_на_запрос, то твоя кафка будет как пятая нога собаке. вообще, есть 4 основных формата интеграции сервисов - очереди, ремот-процедур-кол, бд и файлы (что имхо по-сути бд). это НЕ только кафка и НЕ только месседжинг. как вкарячивают очереди и асинхронку там где она не нужна я видел. слава Майтону сам так не делал там где это действительно НЕ НАДО. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 13:06 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  crutchmaster Андрей Панфилов зачем Ну, например, чтобы не просрать запрос, пока http шляпа делает рестарт. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 13:19 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp как можно синхронно просрать запрос? Дайте пример! ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 13:28 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей Панфилов PetroNotC Sharp как можно синхронно просрать запрос? Дайте пример! Ну тут как в анекдоте: С моей стороны пули вылетают! Проблема в принимающей стороне! <:o) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 14:06 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  crutchmaster Андрей Панфилов совершенно не означает что вызов действительно синхронный, т.е. никаких контрактов для отвечающей стороны здесь не появляется. А зачем вам вообще какие-то гарантии, если данным отношение типа "Ну просрали и просрали запрос, что с того?" Андрей Панфилов А ответ на запрос, который "не просрали", спустя минуту мне уже не нужен. Так никто не мешает брокеру его дропнуть через n сек в очереди. просрать могут все, вопрос что ты будешь делать когда узнаешь что просрал. ну например, ничего или ретрай или еще кучи всего. зависит от задачи и требований. это в принципе для любого решения так ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 15:26 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp crutchmaster пропущено... Ну, например, чтобы не просрать запрос, пока http шляпа делает рестарт. тоже интересно. может типа "не достучался потому что занят был"? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 15:27 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей Панфилов PetroNotC Sharp как можно синхронно просрать запрос? Дайте пример! - ну для этого есть ACKNOWLEDGE ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 15:45 | 
  
  
  
   | 
||
| 
 
Как нынче принято реализовывать взаимодействие между микросервисами учитывая OpenAPI? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  В топике - все правы. Но архитектурно, когда мы рассматриваем системы на базе очередей нам надо предусмотреть больше кейсов чем при синхронном вызове удалённого сервиса. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.09.2020, 15:52 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?desktop=1&fid=59&tid=2120626]:  | 
    0ms | 
get settings:  | 
    8ms | 
get forum list:  | 
    15ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    63ms | 
get topic data:  | 
    11ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    64ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 237ms | 
| total: | 410ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...