Architecture 使用AMQP收集事件

Architecture 使用AMQP收集事件,architecture,scalability,amqp,Architecture,Scalability,Amqp,对于简单的统计数据收集场景,AMQP是否比临时实现有任何优势?它的工作原理是这样的——客户机将事件(我们不想将其放入持久性存储中)发送给(多个)web工作人员,工作人员将其聚合并写入单个数据库。我认为我不应该考虑使用AMQP来实现这一点,因为我仍然需要Web工作者通过HTTP从客户端接收事件并发布它们。我遗漏了什么吗?您可以使用AMQP进行此操作,但最好使用统计数据收集软件。例如,如果为数据采集/绘图服务设置Graphite,并添加statsd前端,则可以通过UDP发送数据点(这是最低的开销),

对于简单的统计数据收集场景,AMQP是否比临时实现有任何优势?它的工作原理是这样的——客户机将事件(我们不想将其放入持久性存储中)发送给(多个)web工作人员,工作人员将其聚合并写入单个数据库。我认为我不应该考虑使用AMQP来实现这一点,因为我仍然需要Web工作者通过HTTP从客户端接收事件并发布它们。我遗漏了什么吗?

您可以使用AMQP进行此操作,但最好使用统计数据收集软件。例如,如果为数据采集/绘图服务设置Graphite,并添加
statsd
前端,则可以通过UDP发送数据点(这是最低的开销),并让statsd聚合并写入Graphite db。关键是
statsd
支持统计收集。您将statsd服务器配置为收集十分之一的数据点,然后statsd客户端将每10个数据点中的一个随机发送到服务器(限制网络流量),并
statsd
计算总计10次。例如,如果在聚合时间段中获得3个数据点,它们的值分别为38、42和40,则statsd将记录一个平均数据点40,事件量30个事件

如果你决定走这条路线,一定要考虑使用MistICSD,它是STATSD兼容的,但是支持更多的测量类型