Obvs 开源项目教程
1. 项目目录结构及介绍
Obvs 是一个用于 .NET 的微服务总线库,它通过简单的 Rx 接口封装底层消息传输。项目的目录结构如下:
Obvs/
├── .github/
│ └── workflows/
├── Examples/
│ ├── Obvs.ActiveMQ/
│ ├── Obvs.Kafka/
│ ├── Obvs.NetMQ/
│ ├── Obvs.RabbitMQ/
│ └── ...
├── Obvs/
│ ├── Build/
│ ├── Logging/
│ ├── Monitoring/
│ ├── Serialization/
│ ├── Tests/
│ └── ...
├── .gitattributes
├── .gitignore
├── Directory.Build.props
├── GitVersion.yml
├── LICENSE.txt
├── Obvs.sln
├── Obvs.sln.DotSettings
├── README.md
└── ...
目录结构介绍
- .github/workflows: 包含 GitHub Actions 的工作流配置文件。
- Examples: 包含各种消息传输的示例代码,如 ActiveMQ、Kafka、NetMQ、RabbitMQ 等。
- Obvs: 项目的主要代码目录,包含构建配置、日志、监控、序列化、测试等子目录。
- .gitattributes: Git 属性配置文件。
- .gitignore: Git 忽略文件配置。
- Directory.Build.props: MSBuild 属性配置文件。
- GitVersion.yml: GitVersion 配置文件。
- LICENSE.txt: 项目许可证文件。
- Obvs.sln: 项目的解决方案文件。
- Obvs.sln.DotSettings: 解决方案的设置文件。
- README.md: 项目说明文档。
2. 项目启动文件介绍
Obvs 项目没有单一的启动文件,因为它是一个库项目,而不是一个独立的应用程序。然而,你可以在 Examples
目录下找到各种示例项目的启动文件。例如:
- Examples/Obvs.ActiveMQ/Test/Client/Program.cs: ActiveMQ 客户端示例的启动文件。
- Examples/Obvs.Kafka/Test/Service/Program.cs: Kafka 服务端示例的启动文件。
这些启动文件通常包含 Main
方法,用于初始化服务总线并启动应用程序。
3. 项目配置文件介绍
Obvs 项目的配置主要通过代码进行,而不是通过传统的配置文件(如 appsettings.json
)。配置通常在启动文件中完成,例如:
IServiceBus serviceBus = ServiceBus.Configure()
.WithActiveMQEndpoints<IMyServiceMessage>()
.Named("MyService")
.UsingQueueFor<ICommand>()
.ConnectToBroker("tcp://localhost:61616")
.SerializedAsJson()
.AsClientAndServer()
.Create();
配置项介绍
- WithActiveMQEndpoints () : 配置使用 ActiveMQ 作为消息传输。
- Named("MyService"): 为服务总线命名。
- UsingQueueFor () : 配置命令消息使用队列。
- ConnectToBroker("tcp://localhost:61616"): 连接到 ActiveMQ 代理。
- SerializedAsJson(): 配置消息序列化为 JSON 格式。
- AsClientAndServer(): 配置服务总线为客户端和服务端模式。
- Create(): 创建并启动服务总线。
通过这种方式,Obvs 允许你在代码中灵活配置服务总线,而不依赖于外部配置文件。