开始使用 Brighter 后,我遇到了其配置系统的重大挑战。对于初次使用者来说,Brighter 的设置可能让人感到困惑、过于冗长且缺乏 Fluent API。为解决这个问题,我创建了 **`Fluent.Brighter`** —— 一个通过直观的 Fluent 接口简化 Brighter 配置的包。
在本文中,我将演示如何使用 `Fluent.Brighter` 配置 RabbitMQ。
什么是 Fluent.Brighter?
Fluent.Brighter 为 Brighter 配置提供了一个简化的 Fluent API,灵感来自 MassTransit 和 JustSaying 等库。其主要特点包括:
- 简化设置:用可读的方法链替换复杂的配置
- 包整合:像 Fluent.Brighter.Postgres 这样的模块将相关组件捆绑在一起(Inbox、Outbox、DistributedLock 和 Messaging Gateway)
- 渐进式覆盖:虽然尚未支持 Brighter 100% 的功能,但我们正在积极扩展对 AWS、Microsoft SQL Server 的支持并完善文档
注意:发现问题或有建议?请在 GitHub 上提交问题。
要求
.NET 8+ 或 netstandard2.0
所需 NuGet 包:
- Fluent.Brighter.RMQ.Async - 支持 RabbitMQ Client V7
- Paramore.Brighter.ServiceActivator.Extensions.Hosting - Service Activator 集成
Brighter 基础概念回顾
在深入 Fluent.Brighter 之前,让我们先回顾一下 Brighter 的核心概念:
请求(命令/事件)
使用 IRequest 定义消息:
public class OrderPlaced : Event(Id.Random())
{
public string OrderId { get; set; } = string.Empty;
public decimal Value { get; set; }
}
- 命令:针对单一接收者(例如,SendEmailCommand)
- 事件:广播通知(例如,OrderShippedEvent)
消息映射器(可选)
在 Brigh

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



