V 站创建主题扣分,收到回复涨分,回复的用户扣分这种机制在数据库中用到事务了吗?事务对数据库性能影响对于 V 站这种规模来说不大,还是用了什么方法降低了事务的性能影响? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
forreal
V2EX    程序员

V 站创建主题扣分,收到回复涨分,回复的用户扣分这种机制在数据库中用到事务了吗?事务对数据库性能影响对于 V 站这种规模来说不大,还是用了什么方法降低了事务的性能影响?

  •  1
     
  •   forreal 2015-09-16 14:49:06 +08:00 3585 次点击
    这是一个创建于 3741 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果因为涨扣分的语句执行失败,导致编辑的贴子没有发布成功,太可惜了。
    13 条回复    2015-09-17 11:52:48 +08:00
    zhicheng
        1
    zhicheng  
       2015-09-16 15:12:56 +08:00
    为什么涨扣分的语句会执行失败?为什么没有发布成功就可惜?
    harry890829
        2
    harry890829  
       2015-09-16 15:13:59 +08:00
    昨天我被禁止回复了好久,说是我回复太过频繁,不知道怎么回事
    88250
        3
    88250  
       2015-09-16 15:25:16 +08:00
    这个问题我也研究过,目前选择的是分开事务。

    1. 用户操作前会校验积分余额
    2. 执行内容处理事务
    3. 执行积分事务,执行失败也不做补偿

    其实再加上一些前置处理(比如同源请求提交时间限制)后,单一用户由于请求并发导致终态不一致的情况应该是 0 ,并且这部分时间如果性能表现太差的话是可以用来做异步积分计算执行的。
    forreal
        4
    forreal  
    OP
       2015-09-16 16:06:16 +08:00
    @zhicheng 害怕万一涨扣分失败,可能是我想多了。发布没成功就白写了那么多字了。
    forreal
        5
    forreal  
    OP
       2015-09-16 16:12:07 +08:00
    @88250 异步积分计算是指 用户回复成功后回调 积分事务 吗?
    zhicheng
        6
    zhicheng  
       2015-09-16 16:15:40 +08:00   1
    @forreal 发布没成功写的字又不会丢,只是没存到服务器上尔已。
    88250
        7
    88250  
       2015-09-16 16:17:57 +08:00   1
    @forreal 嗯,并且是异步执行,缩短请求响应时间。
    Cloudee
        8
    Cloudee  
       2015-09-16 16:39:24 +08:00   2
    其实积分那部分加行锁就可以,我觉得同一个用户的积分变动的并发可以忽略不计的

    如果行锁不能接受的同时又不想就是积分操作的话,就弄个队列把积分变动信息一条一条写到队列里,再用另外一个独立的模块来异步执行
    forreal
        9
    forreal  
    OP
       2015-09-16 17:35:37 +08:00
    @zhicheng 对哦,忽略这点了。
    bdbai
        10
    bdbai  
       2015-09-16 19:34:24 +08:00 via iPhone
    lincanbin
        11
    lincanbin  
       2015-09-16 20:10:02 +08:00 via Android   1
    @bdbai 这玩意老久没更新了,现在架构怎么样没人知道了。

    话说最佳方案应该是 Redis ,然后定时任务每隔几天找个深夜利用闲置资源回写数据库。

    另外 V 站每秒请求量应该也不高吧。
    bdbai
        12
    bdbai  
       2015-09-16 20:22:17 +08:00 via iPhone
    @lincanbin 刚刚好像在 v 站底下看到了百度的广告 淡淡的哀伤啊
    forreal
        13
    forreal  
    OP
       2015-09-17 11:52:48 +08:00
    @lincanbin 好主意。

    考虑到 V 站以后做大做强,百万 ip 的时候。主要是我想问问大家关于降低事务性能影响的方案,以 V 站举个例子。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2521 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 12:09 PVG 20:09 LAX 04:09 JFK 07:09
    Do have faith in what you're doing.
    ubao msn 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