We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
仅限中文
在提之前请先查找已有 issues,避免重复上报。
并且确保自己已经:
当前mq.Message抽象定义如下:
mq.Message
type Header map[string]string // Message 是消息队列中传递的消息封装 type Message struct { // 消息本体,存储业务消息 Value []byte // 对标kafka中的key,用于分区的。可以省略 Key []byte // 对标kafka的header,用于传递一些自定义的元数据。 Header Header // 消息主题 Topic string // 分区ID Partition int64 // 偏移量 Offset int64 }
它同时承担着描述发送消息格式及描述接收消息格式的职责.API使用者会比较懵, 发送消息时, 哪些字段是必填的,哪些字段是选填的,哪些字段是不能填写的? 比如, 是否通过修改message.Topic/Partition来向不同的主题/分区生产消息?
描述发送消息格式
描述接收消息格式
问题1导致了生产者接口ProduceWithPartition(ctx context.Context, m *Message, partition int) (*ProducerResult, error)中的困惑, 明明m *Message中有Partition字段,为什么还要我单独传递一个partition参数.
ProduceWithPartition(ctx context.Context, m *Message, partition int) (*ProducerResult, error)
m *Message
Partition
partition
导致问题1、2的根本原因是当前实现是对齐kafka客户端实现的, 但后续是要支持rabbitmq、rocketmq等其他mq. 我建议趁着现在接口数量少,且功能较为核心,抓紧试验其他要支持的rabbitmq、rocketmq、nsq等,根据试验过程中的经验教训来反向迭代types.go中的抽象定义使其更加合理、更加易用.
上传 go env 的结果
go env
The text was updated successfully, but these errors were encountered:
No branches or pull requests
仅限中文
在提之前请先查找已有 issues,避免重复上报。
并且确保自己已经:
你的问题
当前
mq.Message
抽象定义如下:它同时承担着
描述发送消息格式
及描述接收消息格式
的职责.API使用者会比较懵, 发送消息时, 哪些字段是必填的,哪些字段是选填的,哪些字段是不能填写的? 比如, 是否通过修改message.Topic/Partition来向不同的主题/分区生产消息?问题1导致了生产者接口
ProduceWithPartition(ctx context.Context, m *Message, partition int) (*ProducerResult, error)
中的困惑, 明明m *Message
中有Partition
字段,为什么还要我单独传递一个partition
参数.导致问题1、2的根本原因是当前实现是对齐kafka客户端实现的, 但后续是要支持rabbitmq、rocketmq等其他mq. 我建议趁着现在接口数量少,且功能较为核心,抓紧试验其他要支持的rabbitmq、rocketmq、nsq等,根据试验过程中的经验教训来反向迭代types.go中的抽象定义使其更加合理、更加易用.
你使用的是 mq-api 哪个版本?
你设置的的 Go 环境?
The text was updated successfully, but these errors were encountered: