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协程池模拟实现群发邮件功能
May 02 Golang
golang 实现时间戳和时间的转化
May 07 Golang
修改并编译golang源码的操作步骤
Jul 25 Golang
Go Plugins插件的实现方式
Aug 07 Golang
如何解决goland,idea全局搜索快捷键失效问题
Apr 03 Golang
Go语言grpc和protobuf
Apr 13 Golang
Golang Elasticsearches 批量修改查询及发送MQ
Apr 19 Golang
Golang 链表的学习和使用
Apr 19 Golang
Go Grpc Gateway兼容HTTP协议文档自动生成网关
Jun 16 Golang
Go语言怎么使用变长参数函数
Jul 15 Golang
Go结合Gin导出Mysql数据到Excel表格
Aug 05 Golang
victoriaMetrics库布隆过滤器初始化及使用详解
如何解决goland,idea全局搜索快捷键失效问题
golang为什么要统一错误处理
简单聊聊Golang中defer预计算参数
Mar 25 #Golang
Go 中的空白标识符下划线
golang生成vcf通讯录格式文件详情
golang实现浏览器导出excel文件功能
You might like
php email邮箱正则
2008/10/08 PHP
phpMyAdmin 安装及问题总结
2009/05/28 PHP
php 文章采集正则代码
2009/12/28 PHP
php中常用的预定义变量小结
2012/05/09 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
通过jquery实现tab标签浏览效果
2007/02/20 Javascript
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
jQuery 滑动方法slideDown向下滑动元素
2014/01/16 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
2018/07/23 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
JavaScript Window窗口对象属性和使用方法
2020/01/19 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
Python实现学校管理系统
2018/01/11 Python
Python内存映射文件读写方式
2020/04/24 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
Bath & Body Works阿联酋:在线购买沐浴和身体用品
2021/02/27 全球购物
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
Sql面试题
2013/03/20 面试题
中专自荐信
2013/10/13 职场文书
应聘编辑职位自荐信范文
2014/01/05 职场文书
乒乓球兴趣小组活动总结
2014/07/08 职场文书
检讨书格式范文
2015/05/07 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
python自然语言处理之字典树知识总结
2021/04/25 Python
vue实现移动端div拖动效果
2022/03/03 Vue.js
Go语言特点及基本数据类型使用详解
2022/03/21 Golang