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/: 包含项目的核心包,如
amqp
、message
和stream
。 - .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 {}
}
启动步骤
- 环境初始化: 使用
stream.NewEnvironment
创建一个环境实例,配置连接参数。 - 生产者创建: 使用
env.NewProducer
创建一个生产者实例,并发送一条消息。 - 消费者创建: 使用
env.NewConsumer
创建一个消费者实例,并定义消息处理函数。 - 保持运行: 使用
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
版权归原作者 郁英忆 所有, 如有侵权,请联系我们删除。