tx7do / kratos-transport

kratos transport layer extension
MIT License
348 stars 95 forks source link

为什么 Rocketmq 的 3 个 broker 对 `AutoAck` 的处理不一样 #77

Closed sunznx closed 7 months ago

sunznx commented 7 months ago

看代码 aliyunmqrocketmq-client-go 如果处理出错了,打印了 error,还是会调用 Ack() 函数。 rocketmq-clients 出错了返回 error,不会调用 Ack() 函数

如果不使用 AutoAck,似乎没有提供让用户手动 ack 的接口

  1. aliyunmq https://github.com/tx7do/kratos-transport/blob/80c785b466cb28e037a36c10cb33cf59f66cf808/broker/rocketmq/aliyun/aliyunmq.go#L289-L297

  2. rocketmq-client-go https://github.com/tx7do/kratos-transport/blob/435347130236d703b7059bd4db010a3e19b31aa9/broker/rocketmq/rocketmq-client-go/rocketmq.go#L447-L452

  3. rocketmq-clients https://github.com/tx7do/kratos-transport/blob/ae1d18c7bce5473e7d02b290f4816cdcc52a98a5/broker/rocketmq/rocketmq-clients/subscriber.go#L100-L105