这个项目能做什么

Counter定位为简洁的网页分析工具,用于展示网站的访问人数。该项目提供counter.dev作为托管服务,并附有演示。根据README描述,其技术架构为一个小型Go服务器加静态资源。数据存储在Redis中,普通SQL数据库用于归档较旧的数据。 该项目的目标是以可持续的方式免费服务大量用户。其降低成本的原因在于仅收集聚合数据,而非通过Cookie或指纹技术分配唯一用户ID。这减少了数据库查询成本和存储数据量。唯一用户的统计依赖于sessionStorage、浏览器缓存机制以及引用来源的识别。README指出,这种方式降低了服务器复杂度和负载,同时提升了隐私性,代价是对用户了解更少;项目明确表示不会也无法将单次页面浏览与用户身份关联。项目还提到,基础设施设计用于应对高流量,使用静态Go二进制文件处理HTTP请求,内存中的Redis数据库定期备份到磁盘。README认为这种方式比典型的脚本语言访问关系型数据库更具经济性,且专用或虚拟服务器在同等预算下能提供比平台即服务更高的性能,代价是需自行管理。 一个相关问题被引用为现实世界的验证依据:据报道,每月服务数百万独立访客仅消耗了约5美元/月的小型VPS大约25%的资源。在有数百名活跃用户的情况下,非固定成本约为每用户每月一美分,加上域名和一个额外的VPS备份服务费用,由捐赠覆盖。 对于本地开发,README建议运行make devserver,并指出需要在localhost和默认端口上部署Redis服务器。自托管说明链接至独立的counter.dev-selfhost仓库。博客基于Pelican,模板位于templates/blog,文章在posts目录,通过make blog生成,每次部署时自动重新生成。常见问题部分提到对能否避免Cookie横幅持不确定态度,涉及ePrivacy指令和新的ePrivacy法规提案。贡献者包括数据科学家Ana Maria Sandoval Jimenez和后端开发者Irae Hueck Costa(ihucos)。Counter采用AGPL许可证,开源以提升透明度。