搞一个“Counter as a Service”计数器服务如何

2017-02-24 15:04:44 +08:00
 laobubu

搞一个 REST 式的计数器服务,用户(开发者)可以在网页或者客户端使用 REST 方式调用,为访客的各种主动行为计数(例如:访问了页面,点了个赞,表了个态),也可以通过接口来获取当前 一个页面的计数情况。

可能搜索姿势不对,目前只有找到个新浪云 Counter API,而且只是勉强符合吧。

如果不考虑统计的话,这个要求的服务器成本应该不高,跑一个 Redis ,时不时地存储一下应该差不多了? 还要根据访客做个过滤,比如点赞和表态功能,每个人 /每天只能做一次之类的。

初步构想:

  1. 开发者创建一个计数器 laobubu/post_vote,并配置:
    • 可重复性? 一个用户每天只能表态一次
    • 计数类型? 2 种:支持的、反对的
    • 可修改性? 在不可重复的前提下,再次投票以修改表态,或者调用 DELETE 删除
  2. 通过对应的接口可以访问在计数器下的某一个文档的计数状态 GET /laobubu/post_vote/post-1/
  3. 浏览器或者客户端通过另外的接口发出或者修改表态,返回成功与否,以及最新计数值
{
  status:   'success',
  votable:   false   ,
  editable:  true    ,
  my_choice: '+1'    ,
  stat:
  {
    '+1': 192,
    '-1': 168
  }
}
3606 次点击
所在节点    奇思妙想
9 条回复
kslr
2017-02-24 15:18:40 +08:00
我觉得 aqi 类统计就不错,可以自定义名称和值等等,做一个计数器也不过很简单的事。
laobubu
2017-02-24 20:23:03 +08:00
r#1 @kslr 额,那个 aqi 是什么玩意儿?我觉得这个计数器做出来,在许多静态页面的地方还是会有有意思的用途的。
kslr
2017-02-24 20:40:09 +08:00
@laobubu #2

Sorry, 最近 AQI 打的太多了下意识打错了,我说的是 API ,比如 stathat.com
laobubu
2017-02-24 21:15:23 +08:00
r#3 @kslr 欸 好像 stathat 和我说的功能已经差不多了呢
Joway
2017-02-24 22:01:05 +08:00
你直接放到网页的话,我把拿你 api 恶意调用个几万次怎么办 - - 。。
dphdjy
2017-02-24 22:25:08 +08:00
baas 都有原子计数器服务 有 restful 接口 比如 leancloud
yangqi
2017-02-24 22:37:03 +08:00
这种难道不是十几年前就有了,每个网页都有个访客计数器,现在看很土的那种
laobubu
2017-02-24 22:56:45 +08:00
r#5 @Joway 只要是放到浏览器里,都有可能被恶意刷的。
值得被攻击的系统不需要这种简单的小 service ,
但是在一些静态网页博客( Jekyll 那类),可能需要这种功能。

r#6 @dphdjy 看文档,似乎就是这样子的玩意儿……只有玩过几个免费的 PaaS 的我孤陋寡闻了
https://leancloud.cn/docs/rest_api.html#%E8%AE%A1%E6%95%B0%E5%99%A8

r#7 @yangqi 我这帖子的配图白配了 =_=
kslr
2017-02-24 23:29:45 +08:00
刚刚在 stathat 推特看到一周调用几亿次,没想到做的这么大了,真想了解架构。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/342922

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX