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 相关文章推荐
golang 实现对Map进行键值自定义排序
Apr 28 Golang
golang json数组拼接的实例
Apr 28 Golang
golang 如何通过反射创建新对象
Apr 28 Golang
对Golang中的FORM相关字段理解
May 02 Golang
golang协程池模拟实现群发邮件功能
May 02 Golang
解决Goland 同一个package中函数互相调用的问题
May 06 Golang
简单聊聊Golang中defer预计算参数
Mar 25 Golang
golang用type-switch判断interface的实际存储类型
Apr 14 Golang
golang定时器
Apr 14 Golang
Golang Elasticsearches 批量修改查询及发送MQ
Apr 19 Golang
Go语言测试库testify使用学习
Jul 23 Golang
Go语言编译原理之变量捕获
Aug 05 Golang
victoriaMetrics库布隆过滤器初始化及使用详解
如何解决goland,idea全局搜索快捷键失效问题
golang为什么要统一错误处理
简单聊聊Golang中defer预计算参数
Mar 25 #Golang
Go 中的空白标识符下划线
golang生成vcf通讯录格式文件详情
golang实现浏览器导出excel文件功能
You might like
用PHP创建PDF中文文档
2006/10/09 PHP
PHP的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
jquery 中多条件选择器,相对选择器,层次选择器的区别
2012/07/03 Javascript
jQuery实现长文字部分显示代码
2013/05/13 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
Js利用正则表达式去除字符串的中括号
2020/11/23 Javascript
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
儿童学习python的一些小技巧
2018/05/27 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
对Django 转发和重定向的实例详解
2019/08/06 Python
Python进度条的制作代码实例
2019/08/31 Python
关于Python3 lambda函数的深入浅出
2019/11/27 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
医疗保健专业人士购物网站:Scrubs & Beyond
2017/02/08 全球购物
法国最大的在线眼镜店:EasyLunettes
2019/08/26 全球购物
原料仓管员岗位职责
2014/04/12 职场文书
六年级学生评语
2014/04/22 职场文书
保护野生动物倡议书
2014/05/16 职场文书
农业局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
建筑工地文明标语
2014/10/09 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
国博复兴之路观后感
2015/06/02 职场文书
家庭经济困难证明
2015/06/23 职场文书
2015年学校政教工作总结
2015/07/20 职场文书