mssql sqlserver高并发下处理策略分享


摘要:
下文将讲述sqlserver针对高并发的一些处理思路及方法分享,下面的有些方案目前已经运用到线上系统


这是一个实时电商交易系统,底层数据库使用的是sqlserver,在高并发实时交易系统中,我们必须做到快速的将实时交易数据,写入到sqlserver数据库上,下面将分享我们项目中对此问题的处理方法,如下所示:

处理方法1:
分库分表

将用户的交易记录,按照用户编号“均匀分布”存储到不同的数据库中,在APP 和 DB的连接中使用“数据路由连接中间件”,使sql脚本发送到指定的数据库上,这样可以使数据库的压力控制在合理的范围(因为一个用户不可能有大量的并发),并且一个用户所在组的异常不会导致整个系统崩溃。

处理方法2:
读写分离

将report和读操作分布到专用的读服务器上,或一些报表服务器上,这种操作方式,可以有效的避免读操作占用大量的IO和影响业务数据的写入性能。

通过以上操作,可以使正常用户进行合理的数据访问,避免由于用户量大而导致的异常产生。