菜单

mysql如何应对消息

2016-03-01 - Developer

在使用mysql数据库时,如果是商城那就要考虑到秒杀、抢购、发消息等同一时间访问数据库所带来的堵塞从而压垮数据库。

如何有效的在程序和mysql是做些处理来应对呢。

答案就是:把http请求放入内存的高速队列,然后对队列里的数据按一定的规则进行分流处理。

当一个用户发送一个请求时,我们可以给他延迟2s,依次类推。

如果是发送通知类消息,用户量大,不可能同时发送,那么就是需要列队发送;把发送的消息操作延迟,同时针对活跃用户

优先发送(即异步操作),合理分摊服务器负担。

异步操作优点:部署简单,使用mysql内置存储过程和定时器即可完成大部分调度,服务器部署简单,容易迁移。

缺点:对于大数据量、上千万的消息处理效果不佳。不能应对实时性要求很高的场所。

关于htpp队列,金山有个内部开源HTTPSQL,把队列从mysql移到内存数据库中,并有一个专门的进程负责队列的操作,客户端则通过socket请求进行读写。

另外还有一个轻量级的基于内存的消息队列ZeroMQ,此队列是通过API来实现消息的传输。

转载请注明: 转载自—艾瑞可erik

本文链接地址: http://erik.xyz/1186.html

发表评论