Size: a a a

2020 September 09

AK

Andrei K in pro.cxx
Просто обычно в контексте микросервисов предполагается что они живут уже во всяких облачных инфраструктурах с балансерами нагрузки и прочей ерундистики, которая заточена под HTTP, ну чисто из опыта получается так, что если надо сообщениями обмениваться чаще чем раз в секунду — лучше открыть вебсокет.
источник

AK

Andrei K in pro.cxx
Ilia Zviagin
Ну, я бы думал, что там два вопроса, несвязанных. Но я понял. Спасибо
Но да, возможно я неправильно понял вопрос и он был скорее про разработку API а не про транспорт. Тогда я ничего кроме google protobuf-а не могу посоветовать. Есть еще какие-то популярные фреймоворки для маршаллинга json, но это скорее не про плюсы.
источник

VA

Valery Antopol in pro.cxx
По HTTP, кстати, не обязательно соединение разрывать после каждого запроса. Можно на одном соединении делать сколько угодно запросов, если сервер позволяет
источник

AK

Andrei K in pro.cxx
Valery Antopol
По HTTP, кстати, не обязательно соединение разрывать после каждого запроса. Можно на одном соединении делать сколько угодно запросов, если сервер позволяет
На хедер всё равно расходы, плюс keep-alive это SHOULD, а не MUST указание.
источник

VA

Valery Antopol in pro.cxx
Andrei K
На хедер всё равно расходы, плюс keep-alive это SHOULD, а не MUST указание.
Про хэдеры да. А про остальное я сказал, что сервер позволять должен.
источник

AK

Andrei K in pro.cxx
Можно открыть chunked в обе стороны, но такое себе. Лучше уж вебсокеты.
источник

IZ

Ilia Zviagin in pro.cxx
Andrei K
Но да, возможно я неправильно понял вопрос и он был скорее про разработку API а не про транспорт. Тогда я ничего кроме google protobuf-а не могу посоветовать. Есть еще какие-то популярные фреймоворки для маршаллинга json, но это скорее не про плюсы.
Да дофига протоколов есть.
JSON RPC
XMPP
stomp
ой я даже не вспомню все
источник

IZ

Ilia Zviagin in pro.cxx
Andrei K
Можно открыть chunked в обе стороны, но такое себе. Лучше уж вебсокеты.
Ну я вот удивлён, зачем бы мне в своих серверах HTTP использовать.
источник

AK

Andrei K in pro.cxx
Это да, но я бы не сказал, что они очень удобны для API микросервисов. Кроме первого
источник

IZ

Ilia Zviagin in pro.cxx
Ладно, это оффтоп, завязывать надо
источник

IZ

Ilia Zviagin in pro.cxx
Andrei K
Это да, но я бы не сказал, что они очень удобны для API микросервисов. Кроме первого
Так зависит от предметной области всё. От функционала
источник

RN

Ruslan Neshta in pro.cxx
Alexander N
Есть следующий вопрос - если бы вы разрабатывали микросервисы, взаимодействующие между собой какой протокол вы бы использовали? И ещё с использованием чего можно достаточно- удобно разрабатывать HTTP(S/2) API?
хттп для начала, там будет видно где что улучшать надо
источник

RN

Ruslan Neshta in pro.cxx
Andrei K
Это не надо делать на чистых сокетах, но на них надо будет дописать свою инфраструктуру по поднятию соединения и немного транспортного кода. Для вебсокетов это не надо их поддерживают даже утюги.
так есть готовые библиотеки для обмена сообщениями
источник

EB

Elisey Budnitsky in pro.cxx
Си, узнать время выполнения кода...

struct timeval stop, start; gettimeofday(&start, NULL);
//Code
gettimeofday(&stop, NULL);
printf("took %lu us\n", (stop.tv_sec - start.tv_sec) * 1000000 + stop.tv_usec - start.tv_usec);


Каждый раз возвращает разное время для одного и того же задания, что не так?
источник

AK

Andrei K in pro.cxx
Ruslan Neshta
так есть готовые библиотеки для обмена сообщениями
Само собой. Но нет http инфраструктуры с проксями и всем таким прочим.
источник

AK

Andrei K in pro.cxx
Elisey Budnitsky
Си, узнать время выполнения кода...

struct timeval stop, start; gettimeofday(&start, NULL);
//Code
gettimeofday(&stop, NULL);
printf("took %lu us\n", (stop.tv_sec - start.tv_sec) * 1000000 + stop.tv_usec - start.tv_usec);


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

AK

Andrei K in pro.cxx
Если код между измерениями делает много разных вещей — в общем случае время выполнения непредсказуемо.
источник

RN

Ruslan Neshta in pro.cxx
Andrei K
А почему должно возвращать одинаковое?
++
источник

EB

Elisey Budnitsky in pro.cxx
Хотя бы примерно одинаковое, а не с большим разбросом
источник

RN

Ruslan Neshta in pro.cxx
а что за код в разделе КОД
источник