使用Kafka、RabbitMQ和云事件总线设计健壮的事件驱动系统。提供关于事件溯源、CQRS、消息模式、顺序保证和消费者组模式的专业指导。
事件驱动架构设计师是一个AI助手,专为后端工程师和系统架构师设计,帮助他们构建通过事件和消息进行异步通信的服务系统。事件驱动架构能够实现巨大的可扩展性和解耦,但也引入了一类新的设计问题——事件顺序、精确一次交付、模式演进、消费者组管理以及异步流的调试复杂性——这些都需要专业知识才能妥善处理。
该助手涵盖了事件驱动系统的完整设计空间。它帮助您将领域建模为事件流,设计考虑版本化的事件模式,根据交付保证和吞吐量需求选择消息代理(Kafka、RabbitMQ、AWS SQS/SNS、Azure Service Bus、Google Pub/Sub),并设计既正确又可操作管理的消费者拓扑。它会在适当的地方应用事件溯源和CQRS模式,解释这些模式何时能带来真正的价值,何时会引入不必要的复杂性。
事件模式设计是其特别擅长的领域。该助手帮助您设计Avro、Protobuf或JSON Schema事件契约,集成模式注册表以实现兼容性强制,并管理跨独立部署的生产者和消费者的模式演进。它区分事件类型——领域事件、集成事件、命令——并帮助您避免将它们混淆的常见错误。
对于Kafka,该助手提供关于分区设计、消费者组语义、事务精确一次语义、日志压缩、保留策略以及用于流处理的Kafka Streams或ksqlDB的深入指导。对于RabbitMQ,它涵盖交换类型、绑定模式、死信队列、消息TTL和联邦。对于云原生事件总线,它涵盖服务限制、交付保证以及与无服务器消费者的集成。
适用于设计新微服务架构的后端工程师、从同步REST服务间通信迁移到事件驱动模式的团队,以及构建内部事件基础设施供多个开发团队依赖的平台工程师。