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 原生http web 服务跨域restful api的写法介绍
Apr 27 Golang
golang 比较浮点数的大小方式
May 02 Golang
基于Golang 高并发问题的解决方案
May 08 Golang
golang 实现并发求和
May 08 Golang
Go语言基础函数基本用法及示例详解
Nov 17 Golang
Go 中的空白标识符下划线
Mar 25 Golang
victoriaMetrics库布隆过滤器初始化及使用详解
Apr 05 Golang
Golang数据类型和相互转换
Apr 12 Golang
Golang 实现WebSockets
Apr 24 Golang
GoFrame框架数据校验之校验结果Error接口对象
Jun 21 Golang
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
Jun 21 Golang
victoriaMetrics库布隆过滤器初始化及使用详解
如何解决goland,idea全局搜索快捷键失效问题
golang为什么要统一错误处理
简单聊聊Golang中defer预计算参数
Mar 25 #Golang
Go 中的空白标识符下划线
golang生成vcf通讯录格式文件详情
golang实现浏览器导出excel文件功能
You might like
php 地区分类排序算法
2013/07/01 PHP
PHP中IP地址与整型数字互相转换详解
2014/08/20 PHP
CI框架安全类Security.php源码分析
2014/11/04 PHP
php实现数组中索引关联数据转换成json对象的方法
2015/07/08 PHP
javascript prototype原型操作笔记
2009/12/07 Javascript
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
JavaScript操作DOM元素的childNodes和children区别
2015/04/01 Javascript
jquery获得当前html页面源码的方法
2015/07/14 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
2016/11/03 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
详解uniapp的全局变量实现方式
2021/01/11 Javascript
OpenCV实现人脸识别
2017/04/07 Python
Python3安装Scrapy的方法步骤
2017/11/23 Python
在NumPy中创建空数组/矩阵的方法
2018/06/15 Python
Django中使用Celery的教程详解
2018/08/24 Python
python绘制简单彩虹图
2018/11/19 Python
Python中按值来获取指定的键
2019/03/04 Python
详解Python time库的使用
2019/10/10 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
Pytorch之保存读取模型实例
2019/12/30 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
瑞典轮胎在线:Tirendo.se
2018/06/21 全球购物
3个CCIE对一个工程师的面试题
2012/05/06 面试题
销售顾问岗位职责
2014/02/25 职场文书
市场营销战略计划书
2014/05/06 职场文书
2014年居委会工作总结
2014/12/09 职场文书
办公室文员岗位职责
2015/02/04 职场文书
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android