V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
0576coder
V2EX  ›  Java

grpc- Java stream response 重连的问题

  •  
  •   0576coder · Feb 26, 2021 · 1760 views
    This topic created in 1896 days ago, the information mentioned may be changed or developed.

    昨晚选了个程序员的主题 没人理 换个节点发下 刚用 grpc 的小白有些问题

    如果一个 rpc 接口返回是一个 stream,假如 server 端挂了 或者 client 到 server 端的网络挂了,那么这个 stream 如何重连 是要重新建立一个 channel 然后自己实现重连的逻辑吗 还是有其它解决方案

    我搜了下资料,看到 Stack Overflow 上有一个比较靠谱的回答 You will need application-level retry to re-establish the stream

    疑问点

    这个 retry 指的是重新 new 一个 channel 自己实现 还是说 channel 不用重新 new 重新 new 一个 stub 然后重新调用 rpc 服务,自己实现断线重连的逻辑

    环境

    jdk 1.8.0_211

    使用的包 grpc-netty 1.33.0 grpc-stub 1.33.0

    0576coder
        1
    0576coder  
    OP
       Mar 1, 2021
    自己摸索出来了 netty channel 配置重连策略(本身就支持)

    使用 streamobserve 在 onError 的时候重新 new stub 重新调用 rpc 的接口

    基本上就解决这个问题了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3229 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 14:41 · PVG 22:41 · LAX 07:41 · JFK 10:41
    ♥ Do have faith in what you're doing.