是否有可能将 V2EX 前后端分离化,后端有统一的服务器负责数据库,并留出来 API 允许各种搭建自己的 V2EX 前端? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

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

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

是否有可能将 V2EX 前后端分离化,后端有统一的服务器负责数据库,并留出来 API 允许各种搭建自己的 V2EX 前端?

  •  
  • &nbp; JoyNeop 2013-12-04 20:01:30 +08:00 5285 次点击
    这是一个创建于 4331 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这样还有个好处,在保持 V2EX 后端的代码私有的情况下,允许开源的 V2EX 前端。
    24 条回复    1970-01-01 08:00:00 +08:00
    xdeng
        1
    xdeng  
       2013-12-04 22:19:56 +08:00
    也就是 你拥有了 数据库的 写权限? 开玩笑、、、
    skydiver
        2
    skydiver  
       2013-12-04 22:21:06 +08:00
    那不就是类似twitter吗。。不过肯定会对API的使用加限制的
    lizheming
        3
    lizheming  
       2013-12-04 22:24:27 +08:00   2
    你说的是 http://moot.it 么...
    dorentus
        4
    dorentus  
       2013-12-04 22:26:09 +08:00
    「在保持 V2EX 后端的代码私有的情况下,允许开源的 V2EX 前端」
    这个算不上好处吧。
    Livid
        5
    Livid  
    MOD
    PRO
       2013-12-05 00:20:22 +08:00
    就如 1 楼 @xdeng 所说,这件事最大的问题是开放 V2EX 的用程序发帖,问题在于:

    1. 所有的写入 API 都会被 abuse,也就是会被刷屏
    2. 当然可以设计一些很复杂的控制机制来控制频度,但是这种事情,就是开辟另外一个攻防战场。目前为了防止各种 CSRF,有些事情已经做得太复杂了。
    JoyNeop
        6
    JoyNeop  
    OP
       2013-12-05 01:26:27 +08:00 via iPad
    @xdeng OAuth 而已
    JoyNeop
        7
    JoyNeop  
    OP
       2013-12-05 01:29:31 +08:00 via iPad
    @xdeng
    @Livid
    这与开发个第三方 Twitter 客户端有什么不同吗?OAuth 授权,JSON 传数据,分配 App Key 和 App Secret,JSON 数据包带上撒了盐生成出来的 token。。。
    alay9999
        8
    alay9999  
       2013-12-05 02:05:33 +08:00
    @JoyNeop 区别在于,Twitter 可以无视你刷屏,但是 V2EX 很在乎
    JoyNeop
        9
    JoyNeop  
    OP
       2013-12-05 07:54:03 +08:00 via iPad
    @alay9999 antiabuse 算法在后端做给力点或者限制发帖 API 调用频率就可以的吧?
    alay9999
        10
    alay9999  
       2013-12-05 09:11:36 +08:00
    @JoyNeop
    如果开发身份随意申请我多搞几个就好了

    或者我就开个挂刷你家好了,保持你的 API 调用频率一直饱和,其他用户基本抢不上,

    所以结果还是不行
    seeker
        11
    seeker  
       2013-12-05 09:45:03 +08:00
    看出来了,主要是麻烦。
    qiayue
        12
    qiayue  
    PRO
       2013-12-05 10:38:09 +08:00
    因为 twitter 发出去的信息只会出现在你的个人页面以及你的粉丝视线里,不会出现在所有人的视线里
    归根到底还是产品形态的差异,而不是技术是否能做到的问题
    chengxiao
        13
    chengxiao  
       2013-12-05 11:00:02 +08:00 via iPhone
    @qiayue 可以让每个api单独一个节点,公共贴消耗当天发帖次数等
    qiayue
        14
    qiayue  
    PRO
       2013-12-05 11:57:41 +08:00
    @chengxiao
    限制发帖次数是伪概念
    批量注册账号即可解决
    chengxiao
        15
    chengxiao  
       2013-12-05 12:16:11 +08:00
    @qiayue ....批量注册直接在v2ex上不也是无解么
    qiayue
        16
    qiayue  
    PRO
       2013-12-05 12:35:58 +08:00
    @chengxiao 我不想回复你了,并不是被你问的哑口无言,而是懒得解释
    chengxiao
        17
    chengxiao  
       2013-12-05 13:28:53 +08:00
    @qiayue 不想回复也不用这样回复吧?公开讨论一下 对又如何?错又何妨?但是你的这种措辞实在让人难以接受
    jint
        18
    jint  
       2013-12-05 17:12:55 +08:00 via Android
    api通道收费使用。
    JoyNeop
        19
    JoyNeop  
    OP
       2013-12-05 22:34:54 +08:00
    @alay9999 可以开发白名单,只允许被单独授权的用户使用该前端。
    shao
        20
    shao  
       2013-12-06 13:50:06 +08:00 via iPhone
    你让广告怎么办?
    chens
        21
    chens  
       2013-12-06 23:16:09 +08:00
    推特的方式用在v2ex上就没有可行性,不过前后端分离的方式可以考虑SaaS的方式,每套前端单独申请自己的后端配额,然后基于API搭建自己的前端,可以是php,可以是android,甚至是虚拟主机里的一套dot net
    JoyNeop
        22
    JoyNeop  
    OP
       2013-12-07 11:24:54 +08:00 via iPad
    其实逻辑与 X Server 和 X Client 很接近吧?
    JoyNeop
        23
    JoyNeop  
    OP
       2013-12-07 11:25:45 +08:00 via iPad
    统一的 X Server,用户各自电脑有自己的 X Client。
    shawiz
        24
    shawiz  
       2013-12-20 09:11:02 +08:00
    不支持SEO啊
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5093 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 09:37 PVG 17:37 LAX 02:37 JFK 05:37
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86