JBO*_*JBO 38 azure azureservicebus azure-eventhub
我一直在学习事件中心,只是希望得到确认或更正我对事件中心的看法?我习惯于利用重试,有毒消息,至少一次交付等等,以获得Azure Service Bus Queues和Topics给我的正常企业消息传递解决方案.似乎Event Hubs旨在提供一种非常高规模的不同工具,您必须放弃一些更高规模的"企业"功能.
我正确地考虑了这个吗?是否还需要考虑其他细节?我意识到事件中心和主题可能存在一些功能重叠,但我只想弄清楚如何考虑使用事件中心.
cac*_*sar 41
如果您可以选择,那么基于完整的企业pubsub消息系统编写系统几乎总是更容易,您可以将单个事件标记为已消耗,重试消息以及几乎所有其他精彩功能.如果您已经接受了对消息通道进行分区(Azure Service Bus主题似乎支持),那么您原则上可以根据需要扩展功能更全面的消息传递系统.问题是以什么代价?
Azure服务总线主题的成本高达每百万消息约0.20美元,亚马逊SQS(有点类似)列出每百万美元0.50美元.如果你自己托管它,你可能需要在分区时设置很多RabbitMQ服务器甚至多个集群.
Azure的事件中心的成本每万$ 0.028加每单位吞吐量的量,同样对亚马逊室壁运动.Apache Kafka已在3台机器上以每秒200万的基准进行基准测试
比方说,每秒20,000个事件可以保持一些Azure主题和Azure事件中心之间的差异在于全职开发人员的工资范围.每秒200万(需要联系MS),差异接近每月100万美元.
当您不需要完整邮件系统的所有有用功能,或者当您不需要它们足以支付~10X溢价时,基本上使用分区流|日志/偏移跟踪系统.(或者不能使用它们,因为如果没有英勇的努力,你就无法扩展适当的消息传递系统).
小智 34
我不久前写了一篇关于这个主题的帖子,并得到了丹在服务巴士团队的一些支持.希望这应该为您澄清
http://microsoftintegration.guru/2015/03/03/azure-event-hubs-vs-azure-messaging/
对于消息传递,它是关于一个应用程序告诉一个或多个应用程序要进行某些操作或给我一些东西.
另一种选择是,如果应用程序正在说有些事情已经发生了.
Sre*_*ati 18
正确!!
EventHubs和Topics之间的根本区别在于 - TOPICS提供每个消息的语义 - 但是,EventHubs - 提供流语义 - 你不应该期望任何per-message功能/语义与EventHubs.
任何中间层提供per-message功能都附带processing overhead (the tax)!!
对于Ex:每条消息重复检测,每条消息的接收确认(主题有一个Message.Complete to ack Msg收到) - 都是主题功能.EventHubs缩小了功能集,以提供更好的低延迟/高吞吐量解决方案.
要想像至少一次传递(每个msg在EventHubs中不可用)这样的功能,就是将它转换为流语义 - 读取到给定的eventHub分区和检查点中的一个点,然后让正在使用这些事件的应用程序处理at-least-once交货.
| 归档时间: |
|
| 查看次数: |
16299 次 |
| 最近记录: |