您现在的位置是:首页 > 文章详情 网站首页文章详情
赢得了代码,输掉了性能
- 2175
- 0
- 2020-04-24 10:11:27
- 随笔
开发这个项目之前,并不知道会有这么多人,同时点击。客户的要求也比较刁赞。一千多个淘口令,每人分一个。不许多发,也不许漏发。而且,还要记住客户,这个客户发了淘口令后,以后,他就是只显示这一个淘口令。 早期做了一个版本,每次点击进来,淘口令就更换的,不符合要求,改。改成了,跳转的形式。每次点击进来,分配一个淘口令给它跳转到新的地址。但是用户再点之前的链接。又会重复分配了一个,不行,再改。后面改成了用户进来的时候,记录一个淘口令到session中。下次,或者无论什么时候,只要使用这个浏览器访问,都是这个淘口令。 谷歌,等一些pc的浏览器都没有问题。ios的苹果微信,总是会出现一个怪事。就是实际只有3个客户点击,最后,后台却分配了7淘口令出去。结果,造成了淘口令的浪费。再我一再确定,代码没有问题的时候,想到可能是浏览器的机制的问题。就是,当你点击一个网址的时候,其实到微信内部,它不是访问一次你的服务器,由于微信内部的复杂的判断和过滤机制。它可能会请求2到3次你的服务器,最后,谁先得到页面,谁先展示。正式由于这种机制,把我给害了。也正是由于这种机制,造成了淘口令的浪费。 最后,换成了2步走的模式。第一步先请求页面,此时不请求淘口令,目的是让服务器记住你。页面请求成功后,再去请求淘口令,这样就能保证每次请求的淘口令都被正确记录了。事实证明,这确实是一个很好的解决办法,也是它正确解决了这个问题。 但是下面的问题,就复杂了。测试没有问题,上线的时候,此时我已经坐上了回家的地铁。以为一切都是那么美好,空气中都弥漫着成就感。但是等到我到达停车场的时候,看到微信才发现,此时服务器出现大量502错误。
上一篇: 简书账号莫名被封了