当前程序是否是签到则访问数据库?直接操作DB在高并发下肯定会有问题。可以考虑引入队列(推荐RabbitMQ),将同步流程改造为异步,主要可以拆分为如下两步:
1、签到时将签到信息放入队列,返回签到成功;(这一步并不耗时,因为没有密集IO)
2、队列消费者在后台异步将签到信息写入数据库,签到结束。(这里有密集IO,是非常耗时的操作)
推荐异步。不过方案可以简单点处理。
签到数据本身是没有逻辑关系的,就是一个简单的数据记录的过程。
在多个签到处可以用文件顺序记录,然后收集文件,慢慢导入到系统中。
--途牛旅游网南京本部招java、前端、架构、研发经理感兴趣欢迎联系我或者邮件 wuhuanhong@tuniu.com。
并发量大是多大?表里的数据量是多少?签到程序干了啥?服务器啥环境?网络啥环境?
在程序里处理一下,每隔一段时间批量插入一次。