Azure 事件中心模拟器概述

Azure 事件中心模拟器为事件中心服务提供了本地开发体验。 可以使用模拟器独立地开发和测试针对服务的代码,不受云干扰。

好处

使用仿真器的主要优点是:

  • 本地开发:模拟器提供本地开发体验,支持你脱机工作并避免网络延迟。
  • 成本效益:借助模拟器,你可以测试自己的应用程序,而不会产生任何云使用成本。
  • 独立测试环境:可以单独测试代码,以帮助确保云中的其他活动不会影响测试。
  • 优化的内部开发循环:在将应用程序部署到云之前,你可以使用模拟器快速制作原型并测试应用程序。

注意

事件中心模拟器须遵守 Microsoft 软件许可条款

功能

模拟器具备以下功能:

  • 容器化部署:作为 Docker 容器(基于 Linux)运行。
  • 跨平台兼容性:可在任何平台上使用,包括 Windows、macOS 和 Linux。
  • 可配置性:可以使用 JSON 提供的配置来管理事件中心、分区和其他实体的数量。
  • 流式处理支持:它支持使用 Kafka 和高级消息队列协议 (AMQP) 进行事件流式处理
  • 可观测性:具备可观测性功能,包括控制台和文件日志记录。

已知限制

当前版本的模拟器存在以下限制:

  • 使用 Kafka 时,只有生成者和使用者 API 与事件中心模拟器兼容。

  • 在 Kafka 配置下,securityProtocolsaslmechanism 只能具有以下值:

      SecurityProtocol = SecurityProtocol.SaslPlaintext,
      SaslMechanism = SaslMechanism.Plain
    
  • 不支持通过客户端 SDK 进行实时管理操作。

注意

容器重启后,数据和实体不会保留在模拟器中。

与云服务的差异

由于事件中心模拟器仅用于开发和测试,因此模拟器和云服务之间存在功能差异。

模拟器不支持以下高级功能:

  • 虚拟网络集成、Microsoft Entra ID 集成、活动日志和 UI 门户等 Azure 功能
  • 事件中心捕获
  • 应用程序组等资源治理功能
  • 自动缩放功能
  • 异地灾难恢复功能
  • 可视化指标和警报

注意

模拟器仅用于开发和测试方案。 不鼓励用于任何形式的生产。 我们不为模拟器提供任何官方支持。

在模拟器的 GitHub 安装程序存储库中报告任何问题或建议。

使用配额

与事件中心云服务一样,模拟器提供以下使用配额:

属性 Value 用户可在限制范围内配置
支持的命名空间数 1
命名空间中事件中心的最大数目 10
事件中心内最大使用者组数 20
事件中心内的最大分区数 32
发布到事件中心的事件的最大大小(批处理/非批处理) 1 MB
最小事件保留时间 1 小时

配额配置更改

默认情况下,系统使用 config.json 配置文件运行模拟器。 可以根据需要通过以下方式编辑此文件来配置与事件中心相关的配额:

  • 实体:可以根据支持的配额,使用自定义数量的分区和使用者组添加更多实体(事件中心)。
  • 记录:模拟器支持在控制台或文件上登录,或在两者上同时登录。 可以根据个人偏好进行选择。

重要

在运行模拟器之前,必须提供 JSON 配置中的任何更改。 不接受即时变更。 若要使更改生效,必须重启容器。

无法在配置文件中重命名预设命名空间 (name)。

用于调试的日志

在测试期间,控制台或文件日志有助于调试意外故障。 日志查看方式:

  • 控制台日志:在 Docker 桌面 UI 上,选择容器名称。
  • 文件日志:在容器中,转到 /home/app/EmulatorLogs

使用 Azure 事件中心模拟器在本地进行测试