Skip to content

[Bug] Grpc lacks failover mechanism #1066

@takagi906

Description

@takagi906

Before Creating the Bug Report

  • I found a bug, not just asking a question, which should be created in GitHub Discussions.

  • I have searched the GitHub Issues and GitHub Discussions of this repository and believe that this is not a duplicate.

  • I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.

Programming Language of the Client

Go

Runtime Platform Environment

macos/arm64

RocketMQ Version of the Client/Server

latest

Run or Compiler Version

latest

Describe the Bug

  1. endpoints use a multi-IP model like 127.0.0.1:8080;127.0.0.1:8082
  2. i use producer to send a message
  3. when proxy which ip is 127.0.0.1:8080 crushed, i found message may be send failed.

Steps to Reproduce

  1. endpoints use a multi-IP model like 127.0.0.1:8080;127.0.0.1:8082
  2. use producer to send a message
  3. proxy which ip is 127.0.0.1:8080 crushed, you will found message may be send failed.

What Did You Expect to See?

If one of the proxy addresses becomes unavailable, gRPC can automatically retry using an alternative IP address instead of propagating an error upstream.
Take Java's gRPC as an example. This behavior is natively supported by its built-in failover mechanism.

What Did You See Instead?

golang-sdk don't support the grpc failover mechanism.

Additional Context

none

Metadata

Metadata

Assignees

No one assigned

    Labels

    type/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions