【发布时间】:2012-10-01 21:02:10
【问题描述】:
对于简单的统计数据收集场景,AMQP 与临时实现相比有什么优势吗?它的工作原理是这样的 - 客户端将事件(比我们愿意放入持久存储中的更多)发送到(几个)Web Worker,Worker 聚合它们并写入单个数据库。我认为我不应该考虑为此使用 AMQP,因为我仍然需要网络工作者通过 HTTP 接收来自客户端的事件并发布它们。我错过了什么吗?
【问题讨论】:
标签: architecture scalability amqp
对于简单的统计数据收集场景,AMQP 与临时实现相比有什么优势吗?它的工作原理是这样的 - 客户端将事件(比我们愿意放入持久存储中的更多)发送到(几个)Web Worker,Worker 聚合它们并写入单个数据库。我认为我不应该考虑为此使用 AMQP,因为我仍然需要网络工作者通过 HTTP 接收来自客户端的事件并发布它们。我错过了什么吗?
【问题讨论】:
标签: architecture scalability amqp
您可以为此使用 AMQP,但最好使用统计数据收集软件。例如,如果您为数据收集/绘图服务设置 Graphite,并添加 statsd 前端,那么您可以通过 UDP(开销最低)发送数据点并让 statsd 聚合并写入 Graphite 数据库。关键是statsd支持统计收集。您将 statsd 服务器配置为收集 10 个数据点中的 1 个,然后 statsd 客户端将每 10 个数据点中的一个随机发送到服务器(限制网络流量),statsd 计算总计 10 次。例如,如果您在聚合时间段内获得 3 个数据点,它们的值为 38、42 和 40,则 statsd 将记录 40 个平均数据点和 30 个事件的事件量。
如果您决定走这条路,请务必考虑使用与 statsd 兼容但支持更多测量类型的 metricsd https://github.com/mojodna/metricsd
【讨论】: