V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
laobubu
V2EX  ›  奇思妙想

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

  •  
  •   laobubu · 2017-02-24 15:04:44 +08:00 · 3432 次点击
    这是一个创建于 2611 天前的主题,其中的信息可能已经有所发展或是发生改变。

    搞一个 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
      }
    }
    
    9 条回复    2017-02-24 23:29:45 +08:00
    kslr
        1
    kslr  
       2017-02-24 15:18:40 +08:00
    我觉得 aqi 类统计就不错,可以自定义名称和值等等,做一个计数器也不过很简单的事。
    laobubu
        2
    laobubu  
    OP
       2017-02-24 20:23:03 +08:00
    r#1 @kslr 额,那个 aqi 是什么玩意儿?我觉得这个计数器做出来,在许多静态页面的地方还是会有有意思的用途的。
    kslr
        3
    kslr  
       2017-02-24 20:40:09 +08:00
    @laobubu #2

    Sorry, 最近 AQI 打的太多了下意识打错了,我说的是 API ,比如 stathat.com
    laobubu
        4
    laobubu  
    OP
       2017-02-24 21:15:23 +08:00
    r#3 @kslr 欸 好像 stathat 和我说的功能已经差不多了呢
    Joway
        5
    Joway  
       2017-02-24 22:01:05 +08:00
    你直接放到网页的话,我把拿你 api 恶意调用个几万次怎么办 - - 。。
    dphdjy
        6
    dphdjy  
       2017-02-24 22:25:08 +08:00 via Android
    baas 都有原子计数器服务 有 restful 接口 比如 leancloud
    yangqi
        7
    yangqi  
       2017-02-24 22:37:03 +08:00
    这种难道不是十几年前就有了,每个网页都有个访客计数器,现在看很土的那种
    laobubu
        8
    laobubu  
    OP
       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
        9
    kslr  
       2017-02-24 23:29:45 +08:00 via Android
    刚刚在 stathat 推特看到一周调用几亿次,没想到做的这么大了,真想了解架构。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5345 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 08:54 · PVG 16:54 · LAX 01:54 · JFK 04:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.