分布式事件总线RabbitMQ集成

    使用ABP CLI添加[Volo.Abp.EventBus.RabbitMQNuGet包到你的项目:

    • 安装ABP CLI,如果你还没有安装.
    • 在你想要安装 Volo.Abp.EventBus.RabbitMQ 包的 .csproj 文件目录打开命令行(终端).
    • 运行 abp add-package Volo.Abp.EventBus.RabbitMQ 命令.

    如果你想要手动安装,安装 NuGet 包到你的项目然后添加 [DependsOn(typeof(AbpEventBusRabbitMqModule))] 到你的项目模块类.

    配置

    可以使用配置使用标准的,如 appsettings.json 文件,或选项类.

    这是配置RabbitMQ设置最简单的方法. 它也非常强大,因为你可以使用的任何其他配置源(如环境变量).

    示例:最小化配置与默认配置连接到本地的RabbitMQ服务器

    • ClientName 是应用程序的名称,用于RabbitMQ的队列名称.
    • ExchangeName交换机名称.

    连接

    如果需要连接到本地主机以外的另一台服务器,需要配置连接属性.

    示例: 指定主机名 (如IP地址)

    1. {
    2. "RabbitMQ": {
    3. "Default": {
    4. }
    5. },
    6. "EventBus": {
    7. "ClientName": "MyClientName",
    8. "ExchangeName": "MyExchangeName"
    9. }
    10. }
    11. }

    允许定义多个连接. 在这种情况下,你可以指定用于事件总线的连接.

    示例: 声明两个连接并将其中一个用于事件总线

    这允许你可以在你的应用程序使用多个RabbitMQ服务器,但将其中一个做为事件总线.

    示例: 指定连接端口

    1. {
    2. "RabbitMQ": {
    3. "Default": {
    4. "Port": "5672"
    5. }
    6. }
    7. }
    8. }

    选项类

    AbpRabbitMqOptionsAbpRabbitMqEventBusOptions 类用于配置RabbitMQ的连接字符串和事件总线选项.

    你可以在你的模块ConfigureServices 方法配置选项.

    示例: 配置连接

    示例: 配置客户端和交换机名称

    1. Configure<AbpRabbitMqEventBusOptions>(options =>
    2. {
    3. options.ClientName = "TestApp1";
    4. options.ExchangeName = "TestMessages";