apache / rocketmq-client-go

Apache RocketMQ go client
https://rocketmq.apache.org/
Apache License 2.0
1.29k stars 415 forks source link

Unable to get SubscriptionMessageQueues #1048

Open pzhx521 opened 1 year ago

pzhx521 commented 1 year ago

https://github.com/apache/rocketmq-client-go/blob/1d86ea68616504c6985586d2a9bd1d47c312246f/examples/consumer/pull/pull_from/main.go#L95

I'm going to implement an example of pull_from, I found related example in examples file. But I have a doubt, why use the FetchPublishMessageQueues method? FetchSubscriptionMessageQueues should not be used to fetch consumer queues.

Publish and Subscribe Queues should be two different queues.

But Admin does not provide the FetchSubscriptionMessageQueues interface, I think it is necessary to provide an interface to get the consumer queue. https://github.com/apache/rocketmq-client-go/blob/1d86ea68616504c6985586d2a9bd1d47c312246f/admin/admin.go#LL33C6-L33C6 image

Do we need to add FetchSubscribeMessageQueues method in Admin, or do we take other methods.

func (a *admin) FetchSubscribeMessageQueues(ctx context.Context, topic string) ([]*primitive.MessageQueue, error) {
    return a.cli.GetNameSrv().FetchSubscribeMessageQueues(utils.WrapNamespace(a.opts.Namespace, topic))
}

Looking forward to your reply, thank you.

cserwen commented 1 year ago

Maybe we can add examineTopicRouteInfo just like java sdk @pzhx521