- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RocketMQ Client-GO技术架构介绍
技术创新,变革未来
Why Golang native?
PMG
G G
G G G
func hello() {
fmt.Printf(“hello world”) P local 队列 G G G
}
func main {
wg sync.WaitGroup()
wg.Add(1) P处理器 P P P
go hello()
wg.Wait()
} binding
M物理线程
M M M
1. 核心组件
2. 发送流程
3. 消费流程
4. 常见问题
5. 未来规划
6. 使用场景
7. FQ
核心组件
1. Nameserver 抽象
a. Broker 管理
b. topicRoute管理
c. 统一收敛
2. NameserverResolver 自定义
a. 支持指定地址: passThrough
b. 支持http
c. 可以自定义consul方式
3. 支持interceptor
a. Producer interceotpr
b. Consumer interceptor
4. Option 的写法
发送流程
msg :=
primitive.ProducerMessage{
Topic: topic,
Body: []byte(strconv.Itoa(i)),
}
ctx := context.Background() res,
err := p.SendSync(ctx, msg)
消费流程
常见问题
1. 消费慢. 顺序消费的Lock逻辑, 并发+ringbuffer
2. 异步消费自动ack. 没有异步支持, 内部优化实现
3. 消费很慢. Offset位置的消息被删除了, 需要一段时间追赶到
最新的off
原创力文档


文档评论(0)