On Mon, Sep 29, 2025 at 8:23 AM Prathish Elango <[email protected]>
wrote:

> I'm analysing on using grpc keep alive to detect dangling connections
> between my client and server like hardware failure or something similar
> which brings down the server and the connection doesn't get closed.


If you're concerned about the machine getting wedged, then you'd want
keepalive between the proxy sidecars. If you are concerned with the process
getting wedged, then you'd want it between the client and proxy, and proxy
and server. (For the client to monitor its sidecar, and for the sidecar to
monitor the server.)

client → sidecar → sidecar → server

Each → could have its own keepalive driven by the client-side/left-side of
the connection. You're already doing client→sidecar.

This is helping me in case I don't use a proxy in between my services. And
> as you said istio side car is responding to h2 pings from my clients, I
> modified ip tables of my server to simulate a blackhole kind of scenario
> and my client was still sending those h2 pings and getting back ack for it
>
> Do you have a suggestion on what I can do to make sure my client detects
> these kinds of broken servers? Right now all the calls are unary between
> them


I see Istio has a setting for TcpKeepalive
<https://github.com/grpc/grpc-java/pull/12203>. TCP keepalive is relevant
between the two sidecars. It isn't useful between the sidecar and server.
But that might be what you want to detect machines breaking. Your question
is really an Istio question, and I haven't actually used Istio.

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/grpc-io/CA%2B4M1oMG8gwoqzR6_-sGHOQTRMPqWQ65v_Xe6Nz5E6-hYUfx%2BA%40mail.gmail.com.

Reply via email to