目录
一、什么是热点账户
热点账户一般指被高频更新的账户,比如短时间内大量的账户余额更新请求集中在极少数账户上。这类账户虽然数量不多,但更新频率很高,处理不当可能会带来严重的性能问题,影响其他账户的正常读写操作。
DB的角度,“热点账户”的实质就是表的热点行存在极高频率的update操作,且高频的update操作集中发生在某些字段上,一般来说,发生在热点账户上的高频更新操作主要集中在对账户余额的加减上。
单条记录高频更新,则意味着DB需要对该条记录进行频繁地加锁与解锁,由于DB事务的ACID特性,对于单条记录而言,同一时刻只能有一个加解锁成功,这意味着对该记录的多个加解锁操作只能是串行的,因此单条记录的加解锁性能很有限的.因此热点账户由于实现机制的不合理,往往可能会带来“死锁”、“锁等待”,“连接被拒绝”等现象
二、热点账户的类型
热点账户按照资金发生的方向,可以分为加频账户,减频账户、双频账户加频账户:
加频账户:
即余额增加频繁的账户。
如下图的捐款业务的资金流向.捐款用户的捐款的钱款均转入了公益机构在第三方支付公司开的待清算账户。那公益机构在第三方支付公司开的待清算账户就是典型的加频账户。(再比如常