golang操作rocketmq的示例代码


Posted in Golang onApril 06, 2022

下载

go get github.com/apache/rocketmq-client-go/v2

代码

func main() {
	// 1. 创建主题
	//CreateTopic("test-04", 10909)
	// 2. 生产者向主题中发送消息
	//SendSyncMessage("hello world0002")
	// 3. 消费者订阅主题并消费
	SubscribeMessage()
}
func CreateTopic(topicName string, port int) {
	// 创建主题
	testAdmin, err := admin.NewAdmin(admin.WithResolver(primitive.NewPassthroughResolver([]string{"ip:server_port"})))
	if err != nil {
		fmt.Println(err)
	}
	err = testAdmin.CreateTopic(
		context.Background(),
		admin.WithTopicCreate(topicName),
		admin.WithBrokerAddrCreate(fmt.Sprintf("ip:%d", port)),
	)
	fmt.Println(err)
func SendSyncMessage(message string) {
	endPoint := []string{"ip:server_port"}
	p, err := rocketmq.NewProducer(
		producer.WithNameServer(endPoint),
		//producer.WithNsResolver(primitive.NewPassthroughResolver(endPoint)),
		producer.WithRetry(2),
	err = p.Start()
	result, err := p.SendSync(context.Background(), &primitive.Message{
		Topic: "test",
		Body:  []byte(message),
	})
	fmt.Println(result.Status, result)
func SubscribeMessage() {
	// 订阅主题、并消费
	c, err := rocketmq.NewPushConsumer(
		consumer.WithNameServer(endPoint),
		consumer.WithConsumerModel(consumer.Clustering),
		consumer.WithGroupName("GID_TEST01"),
		//fmt.Println(err)
	err = c.Subscribe("test", consumer.MessageSelector{}, func(ctx context.Context,
		msgs ...*primitive.MessageExt) (consumer.ConsumeResult, error) {
		for i := range msgs {
			fmt.Printf("subscribe callback: %v \n", msgs[i])
		}
		return consumer.ConsumeSuccess, nil
		//fmt.Println(err.Error())
	// Note: start after subscribe
	err = c.Start()
		os.Exit(-1)
	c.Shutdown()

参考文档

到此这篇关于golang操作rocketmq的示例代码的文章就介绍到这了,更多相关golang操作rocketmq内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Golang 相关文章推荐
Go Gin实现文件上传下载的示例代码
Apr 02 Golang
一文读懂go中semaphore(信号量)源码
Apr 03 Golang
golang通过递归遍历生成树状结构的操作
Apr 28 Golang
golang 比较浮点数的大小方式
May 02 Golang
Golang之sync.Pool使用详解
May 06 Golang
关于golang高并发的实现与注意事项说明
May 08 Golang
go 实现简易端口扫描的示例
May 22 Golang
Golang Elasticsearches 批量修改查询及发送MQ
Apr 19 Golang
Go语言怎么使用变长参数函数
Jul 15 Golang
Go gorilla securecookie库的安装使用详解
Aug 14 Golang
Go中使用gjson来操作JSON数据的实现
Aug 14 Golang
victoriaMetrics库布隆过滤器初始化及使用详解
如何解决goland,idea全局搜索快捷键失效问题
golang为什么要统一错误处理
简单聊聊Golang中defer预计算参数
Mar 25 #Golang
Go 中的空白标识符下划线
golang生成vcf通讯录格式文件详情
golang实现浏览器导出excel文件功能
You might like
php格式化工具Beautify PHP小小BUG
2008/04/24 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
2014/11/19 PHP
PHP封装的Twitter访问类实例
2015/07/18 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
2016/12/08 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
解决JS表单验证只有第一个IF起作用的问题
2018/12/04 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
[20:46]Ti4循环赛第三日VG vs DK
2014/07/12 DOTA
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
Perfume’s Club澳大利亚官网:西班牙领先的在线美容店
2021/02/01 全球购物
Internal修饰符有什么含义
2013/07/10 面试题
Shell如何接收变量输入
2012/09/24 面试题
毕业自荐书
2013/12/09 职场文书
元旦联欢会主持词
2014/03/26 职场文书
在校实习生求职信
2014/06/18 职场文书
分公司总经理岗位职责
2014/08/03 职场文书
大学生国庆节65周年演讲稿范文
2014/09/25 职场文书
爱国电影观后感
2015/06/19 职场文书
给学校的建议书400字
2015/09/14 职场文书
仅用几行Python代码就能复制她的U盘文件?
2021/06/26 Python
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记