Здравствуйте, takTak, Вы писали:
T>>>да, сорри, я перепутал: т.е. я не gRPC-Web, а gRPC использовал, всё равно по сравнению с локальным вызовом как-то долго получается...
НС>>А ты хотел чтобы вызов через несколько процессов и через стек TCP/IP был сопоставим по скорости с локальным? Серьезно?
T>что значит "несколько процессов" ? речь идёт о коммуникации без сетевого трафика между двумя процессами на одной и той же машине, прочём с использованием бинарной сериализации, у меня на боевой машине получается разница в 15 -40 раз, откуда такое берётся ?! ну раза в 2-3 ещё куда ни шло...
Ну я так понял из кода, что SomeLegacyService вызывается из текущего процесса
public class SomeLegacyService: IService
{
public Result CalculateSomething(RequestDto request)
{
try
{
//Thread.Sleep(TimeSpan.FromMilliseconds(10));
return FakeDataProvider.Instance.GetResult();
}
catch (Exception ex)
{
throw;
}
}
}
А вэб и gRPC подключаются к отдельным процессам.
Хоть и говорят, что gRPC прирост за счет постоянного соединения, но у меня максимум в 2 раза получилось. Хотя на TCP/IP на одной машине разница раз в 7-10
https://ru.stackoverflow.com/questions/630653/tcp-ip-%d1%81%d0%ba%d0%be%d1%80%d0%be%d1%81%d1%82%d1%8c-%d0%be%d0%b1%d0%bc%d0%b5%d0%bd%d0%b0/634019#634019