我们有一个 webapp 可以满足数百个同时登录的用户(在任何给定时间大约 10K-30K 用户)。该应用程序收集分析,特别是每秒可能发生几次的某些用户操作。
到目前为止,我们的应用程序设计已经非常解耦(很多 memcache/redis 具有延迟的 DB 写入),并且我们很好地避免了锁以确保没有任何东西是“中心化的”。
管理层最终决定构建一个实时分析面板,该面板应将这些操作汇总到全局计数器中(低至 1 秒粒度)。拥有这些“全球”计数器的最佳方式是什么?我们可以增加一些 memcache 键,但我们有一个 memcache 集群(EC2),因此迭代所有它们以计算键会延迟这个指标。DB 是不可能的,因为我们在这方面遇到了很多瓶颈,所以所有 DB 写入都通过消息队列(beanstalkd)延迟
任何提示将不胜感激。