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二维切片初始化的实现
Apr 08 Golang
go原生库的中bytes.Buffer用法
Apr 25 Golang
go结构体嵌套的切片数组操作
Apr 28 Golang
浅谈Golang 嵌套 interface 的赋值问题
Apr 29 Golang
对Golang中的FORM相关字段理解
May 02 Golang
Go标准容器之Ring的使用说明
May 05 Golang
解决goland 导入项目后import里的包报红问题
May 06 Golang
golang 实现时间戳和时间的转化
May 07 Golang
使用golang编写一个并发工作队列
May 08 Golang
Go 语言下基于Redis分布式锁的实现方式
Jun 28 Golang
Go语言读取txt文档的操作方法
Jan 22 Golang
Golang并发工具Singleflight
May 06 Golang
victoriaMetrics库布隆过滤器初始化及使用详解
如何解决goland,idea全局搜索快捷键失效问题
golang为什么要统一错误处理
简单聊聊Golang中defer预计算参数
Mar 25 #Golang
Go 中的空白标识符下划线
golang生成vcf通讯录格式文件详情
golang实现浏览器导出excel文件功能
You might like
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
php下使用strpos需要注意 === 运算符
2010/07/17 PHP
PHP命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
PHP上传文件时自动分配路径的方法
2015/01/09 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
PHP扩展Memcache分布式部署方案
2015/12/06 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
python 实现数组list 添加、修改、删除的方法
2018/04/04 Python
详解Django rest_framework实现RESTful API
2018/05/24 Python
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
python如何查看微信消息撤回
2018/11/27 Python
PyQt5实现简单的计算器
2020/05/30 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
Html5 实现微信分享及自定义内容的流程
2019/08/20 HTML / CSS
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
后勤人员自我评价怎么写
2013/09/19 职场文书
幼儿园教师培训方案
2014/02/04 职场文书
电子专业自荐信
2014/07/01 职场文书
受资助学生感谢信
2015/01/21 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
php7中停止php-fpm服务的方法详解
2021/05/09 PHP
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android
微信小程序中使用vant框架的具体步骤
2022/02/18 Javascript
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript
Python可视化神器pyecharts之绘制箱形图
2022/07/07 Python