欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

golang操作rocketmq的示例代碼

 更新時間:2022年04月06日 14:09:13   作者:專職  
這篇文章主要介紹了golang操作rocketmq的示例代碼,代碼簡單易懂,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

RocketMQ 是什么

Github 上關(guān)于 RocketMQ 的介紹:
RcoketMQ 是一款低延遲、高可靠、可伸縮、易于使用的消息中間件。具有以下特性:

  • 支持發(fā)布/訂閱(Pub/Sub)和點對點(P2P)消息模型
  • 在一個隊列中可靠的先進先出(FIFO)和嚴格的順序傳遞
  • 支持拉(pull)和推(push)兩種消息模式
  • 單一隊列百萬消息的堆積能力
  • 支持多種消息協(xié)議,如 JMS、MQTT 等
  • 分布式高可用的部署架構(gòu),滿足至少一次消息傳遞語義
  • 提供 docker 鏡像用于隔離測試和云集群部署
  • 提供配置、指標和監(jiān)控等功能豐富的 Dashboard

對于這些特性描述,大家簡單過一眼就即可,深入學(xué)習之后自然就明白了。

下面看下golang操作rocketmq的示例代碼,內(nèi)容如下所示:

下載

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

代碼

func main() {
	// 1. 創(chuàng)建主題
	//CreateTopic("test-04", 10909)
	// 2. 生產(chǎn)者向主題中發(fā)送消息
	//SendSyncMessage("hello world0002")
	// 3. 消費者訂閱主題并消費
	SubscribeMessage()
}
func CreateTopic(topicName string, port int) {
	// 創(chuàng)建主題
	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()

到此這篇關(guān)于golang操作rocketmq的示例代碼的文章就介紹到這了,更多相關(guān)golang操作rocketmq內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go 數(shù)據(jù)結(jié)構(gòu)之堆排序示例詳解

    Go 數(shù)據(jù)結(jié)構(gòu)之堆排序示例詳解

    這篇文章主要為大家介紹了Go 數(shù)據(jù)結(jié)構(gòu)之堆排序示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 使用go實現(xiàn)一個超級mini的消息隊列的示例代碼

    使用go實現(xiàn)一個超級mini的消息隊列的示例代碼

    本文主要介紹了使用go實現(xiàn)一個超級mini的消息隊列的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Golang使用cobra實現(xiàn)命令行程序的示例代碼

    Golang使用cobra實現(xiàn)命令行程序的示例代碼

    Cobra 是 Go 語言中一個強大的命令行應(yīng)用庫,它提供了創(chuàng)建命令行工具所需的基本結(jié)構(gòu)和功能,被許多開發(fā)者用于構(gòu)建各種命令行工具和應(yīng)用程序,本文將給大家介紹Golang使用cobra實現(xiàn)命令行程序,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2024-02-02
  • 使用Go開發(fā)硬件驅(qū)動程序的流程步驟

    使用Go開發(fā)硬件驅(qū)動程序的流程步驟

    Golang是一種簡潔、高效的編程語言,它的強大并發(fā)性能和豐富的標準庫使得它成為了開發(fā)硬件驅(qū)動的理想選擇,在本文中,我們將探討如何使用Golang開發(fā)硬件驅(qū)動程序,并提供一個實例來幫助你入門,需要的朋友可以參考下
    2023-11-11
  • Go語言中的Struct結(jié)構(gòu)體

    Go語言中的Struct結(jié)構(gòu)體

    這篇文章介紹了Go語言中的Struct結(jié)構(gòu)體,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • go語言題解LeetCode1275找出井字棋的獲勝者示例

    go語言題解LeetCode1275找出井字棋的獲勝者示例

    這篇文章主要為大家介紹了go語言題解LeetCode1275找出井字棋的獲勝者示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • 深入探索Golang中的SM4加密解密算法

    深入探索Golang中的SM4加密解密算法

    SM4加密算法在安全性、高效性、簡單性、標準化和廣泛支持等方面具有優(yōu)勢,適用于各種數(shù)據(jù)保護和加密應(yīng)用場景,這篇文章就來和大家探索一下Golang中的SM4加密解密算法吧
    2023-06-06
  • go語言實戰(zhàn)之實現(xiàn)比特幣地址校驗步驟

    go語言實戰(zhàn)之實現(xiàn)比特幣地址校驗步驟

    這篇文章主要介紹了go語言實戰(zhàn)之實現(xiàn)比特幣地址校驗步驟,利用生產(chǎn)的隨機數(shù)采用橢圓加密算法生成公鑰,具體步驟實例代碼請參考下本文
    2021-05-05
  • 如何利用Golang解析讀取Mysql備份文件

    如何利用Golang解析讀取Mysql備份文件

    這篇文章主要給大家介紹了關(guān)于如何利用Golang解析讀取Mysql備份文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習或者使用Golang具有一定的參考學(xué)習價值,需要的朋友們下面來一起學(xué)習學(xué)習吧
    2019-12-12
  • 使用Go語言解析動態(tài)JSON格式的方法

    使用Go語言解析動態(tài)JSON格式的方法

    本篇文章主要介紹了使用Go語言解析動態(tài)JSON格式的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12

最新評論