0


RabbitMQ Stream Go Client 项目教程

RabbitMQ Stream Go Client 项目教程

rabbitmq-stream-go-client A client library for RabbitMQ streams 项目地址: https://gitcode.com/gh_mirrors/ra/rabbitmq-stream-go-client

1. 项目目录结构及介绍

rabbitmq-stream-go-client/
├── ci/
│   ├── Dockerfile
│   └── ...
├── examples/
│   ├── getting_started.go
│   └── ...
├── generate/
│   └── ...
├── perfTest/
│   └── ...
├── pkg/
│   ├── amqp/
│   ├── message/
│   └── stream/
├── .gitignore
├── .goreleaser.yml
├── Dockerfile
├── LICENSE
├── Makefile
├── README.md
├── VERSION
├── create_tag.sh
├── go.mod
├── go.sum
└── ...

目录结构介绍

  • ci/: 包含持续集成相关的配置文件,如Dockerfile。
  • examples/: 包含项目的示例代码,如getting_started.go
  • generate/: 包含代码生成相关的文件。
  • perfTest/: 包含性能测试相关的文件。
  • pkg/: 包含项目的核心包,如amqpmessagestream
  • .gitignore: Git忽略文件配置。
  • .goreleaser.yml: Goreleaser配置文件,用于自动化发布。
  • Dockerfile: Docker构建文件。
  • LICENSE: 项目许可证。
  • Makefile: 项目构建和任务管理文件。
  • README.md: 项目介绍和使用说明。
  • VERSION: 项目版本号。
  • create_tag.sh: 用于创建Git标签的脚本。
  • go.mod: Go模块依赖管理文件。
  • go.sum: Go模块依赖校验文件。

2. 项目启动文件介绍

项目的启动文件通常是

examples/getting_started.go

,这是一个简单的示例程序,展示了如何使用RabbitMQ Stream Go Client连接到RabbitMQ并进行消息的发布和消费。

examples/getting_started.go

文件介绍

package main

import (
    "fmt"
    "github.com/rabbitmq/rabbitmq-stream-go-client/pkg/stream"
)

func main() {
    env, err := stream.NewEnvironment(
        stream.NewEnvironmentOptions().
            SetHost("localhost").
            SetPort(5552).
            SetUser("guest").
            SetPassword("guest"),
    )
    if err != nil {
        panic(err)
    }

    producer, err := env.NewProducer("my-stream", nil)
    if err != nil {
        panic(err)
    }

    err = producer.Send(amqp.NewMessage([]byte("hello")))
    if err != nil {
        panic(err)
    }

    consumer, err := env.NewConsumer("my-stream", func(consumerContext stream.ConsumerContext, message *amqp.Message) {
        fmt.Printf("consumer name: %s, text: %s \n", consumerContext.Consumer.GetName(), message.Data)
    }, nil)
    if err != nil {
        panic(err)
    }

    // 保持程序运行以接收消息
    select {}
}

启动步骤

  1. 环境初始化: 使用stream.NewEnvironment创建一个环境实例,配置连接参数。
  2. 生产者创建: 使用env.NewProducer创建一个生产者实例,并发送一条消息。
  3. 消费者创建: 使用env.NewConsumer创建一个消费者实例,并定义消息处理函数。
  4. 保持运行: 使用select {}保持程序运行,以便接收消息。

3. 项目配置文件介绍

项目的配置文件主要是

go.mod

Makefile

go.mod

文件介绍

go.mod

文件用于管理Go模块的依赖关系。

module github.com/rabbitmq/rabbitmq-stream-go-client

go 1.16

require (
    github.com/streadway/amqp v1.0.0
    // 其他依赖
)

Makefile

文件介绍

Makefile

文件用于定义项目的构建和任务管理。

.PHONY: build test

build:
    go build -o rabbitmq-stream-go-client ./cmd/rabbitmq-stream-go-client

test:
    go test ./...

配置文件使用

  • go.mod: 在项目根目录下运行go mod tidy来更新依赖。
  • Makefile: 在项目根目录下运行make build来构建项目,运行make test来运行测试。

通过以上步骤,您可以了解RabbitMQ Stream Go Client项目的目录结构、启动文件和配置文件的使用方法。

rabbitmq-stream-go-client A client library for RabbitMQ streams 项目地址: https://gitcode.com/gh_mirrors/ra/rabbitmq-stream-go-client

标签:

本文转载自: https://blog.csdn.net/gitblog_00004/article/details/142197481
版权归原作者 郁英忆 所有, 如有侵权,请联系我们删除。

“RabbitMQ Stream Go Client 项目教程”的评论:

还没有评论