抢红包高并发问题

                                            抢红包高并发问题

我们在搭建网站时候要考虑高并发问题,比如抢红包。当到节假日时候,人们会互相发送红包。

我们需要对这种高并发的请求行处理。我们需要先对发送红包的请求进行处理。

服务器端处理发红包请求的时候先生成一个发送红包订单:

对于抢红包的时候或者节日有高并发访问的时候,这个订单信息存在两份mg消息队列中。防止一个消息队列

服务器崩溃。然后再把消息给redis缓存。在服务器端随机生成红包id。这个id可以是:ip+mac地址+时间戳+循环随机数;

也可以是利用雪花算法或者uuid来保证生成的红包id唯一。需要4b存储。其中服务器端在处理发红包的请求的时候,

为了提高服务器的处理性能,会在客户端先处理请求(比如可以把红包分割成多少份,然后发送给服务器端)。红包

内容包括一些前台传的红包信息,红包总数等。假设有200个领取红包上限人数。需要400b来存储抢红包人的id。

总共不会超过1kb。那么4g的内存可以存储的消息能有400万。而且服务器的内存更大。这样足够满足接受客户端

的高并发请求,然后交给redis备份处理。

注意事项:

1:网络传输的尽量传输字符串,这样避免字符串的反序列化耗费性能。

2:读写redis和db是异步操作。隔一段时间后才向数据库里写入。防止频繁的io耗费性能。

3:mg消息队列和redis可能是双写,这样防止一份崩溃之后造成较大的损失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>