当前位置:  开发笔记 > 编程语言 > 正文

Google App Engine日志的工作原理是什么?

如何解决《GoogleAppEngine日志的工作原理是什么?》经验,为你挑选了1个好方法。

在执行Logging语句时Google会将日志存储在何处?记录语句似乎非常快,因此它们似乎不会存储在数据存储区中.

原木的可靠性如何?如果我做一个日志语句并且它成功了,它几乎可以保证它会显示在日志中吗?

记录过去的历史记录多少?

我对此感兴趣的原因是因为我正在建立一个问答网站,我想跟踪每个唯一登录用户对每个问题的查看,并在问题页面上显示查看计数.因此,如果10个不同的用户访问问题页面100次,它仍然只计为10个唯一视图.

我有一台异地计算机,可以为我的应用程序进行后台处理.我计划让这台非现场计算机每30分钟下载一次日志,并根据日志计算每个问题的查看次数.通过这样做,我不必为每个用户查看的每个不同问题创建数据存储区实体.

你们有什么感想?有没有人看到这个问题?

编辑:我想我主要担心的是日志的可靠性.



1> 小智..:

这不是你问题的答案 - 相反,它是对你试图解决的问题的回应.

如果您熟悉Bloom Filters并使用Memcached的incr(或分片数据存储计数器),您可以创建一个"足够好"的解决方案.您可以使用布隆过滤器来测试值是否在集合中(在本例中为用户ID),如果不是,则递增计数器并将值添加到过滤器.Bloom Filters的一个属性是向要检查包含的集合添加值是一个恒定时间操作.Spacewise,它需要一些空间来存储每个潜在的过滤器,但这似乎比编写代码定期grep uniques时要简单一个数量级.这是一个Python实现.

然而,没有什么是免费的 - 我说"足够好"很重要.使用Bloom Filters,总会出现误报的可能性.也就是说,根据每个问题的散列大小,您很可能会检查用户ID是否已被计数,并且当用户第一次查看该问题时获得"是的" .您可以计算出合理误报所需的大小,但这样做有一个空间权衡.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有