我一直在了解事件中心,只是想得到关于我对事件中心的看法的确认或更正?我习惯于利用重试、有害消息、至少一次传递等来实现正常的企业消息传递解决方案,这些解决方案是 Azure 服务总线队列和主题为我提供的。事件中心似乎旨在为非常高的规模提供不同的工具,您必须放弃一些更“企业”的功能才能获得更高的规模。
我的想法正确吗?我还需要考虑其他细节吗?我意识到事件中心和主题可能存在一些功能重叠,但我只是想弄清楚如何考虑使用事件中心。
最佳答案
如果您有选择,那么编写一个基于完整企业发布订阅消息系统的系统几乎总是更容易,您可以在其中将单个事件标记为已使用、重试消息以及几乎所有其他精彩功能。如果您已经接受对消息 channel 进行分区(Azure 服务总线主题似乎支持),那么原则上您可以根据需要扩展功能更齐全的消息系统。问题是要付出什么代价?
Azure 服务总线主题的大规模成本约为 $0.20 per Million消息,Amazon SQS(有些类似)列表 $0.50 per Million 。如果您自己托管它,您可能需要在分区时设置大量 RabbitMQ 服务器甚至多个集群。
Azure 事件中心成本 $0.028 per Million加上每个吞吐量单位的量,same适用于亚马逊 Kinesis。 Apache Kafka 已 benchmarked在 3 台机器上每秒 200 万次
假设每秒 20,000 个事件维持了某些 Azure 主题和 Azure 事件中心之间的差异,其差异在全职开发人员的工资范围内。如果持续每秒 200 万次(需要联系 MS),则差异接近每月 100 万美元。
基本上,当您不需要完整消息传递系统的所有有用功能,或者不需要足够的功能来支付大约 10 倍的费用时,请使用分区流|日志/偏移跟踪系统。 (或者无法使用它们,因为如果没有英勇的努力,您就无法足够扩展适当的消息传递系统)。
关于azure - 寻求有关 Azure 服务总线中的事件中心与主题的清晰信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28183020/