发表于: 2018-03-05 23:20:48

1 562


今天做的事情:


             看了好多资料文档,感觉收获不大,记住的不多。随便说几点吧。


           1   关于秒杀系统

          

             一个Web系统大规模开发--电商秒杀与抢购。高并发的问题,面试一直有问,还有session共享的问题。


             一般静态页面都是HTML内容,是通过CDN部署的,压力不大,核心瓶颈在与后台接口请求上,尽可能需要快,接口的后端存储使用内存级别的操作会更好一点,仍然直接面向mysql不合适,使用NoSql比较好。


              海量的流量涌来,许多请求到达接口,这时候需要逻辑去判断下,因为用户都喜欢点很多下。。解决方法:同一账号,一次性发出很多请求的时候,只接受一条,其他的请求过滤掉。方案:通过redis这种内存缓存服务,写入一个标签位,只允许一个请求写成功。或者自己实现一个服务,将同一个账号请求放入一个队列,处理完一个再处理下一个。


              还有就是可以通过指定机器ip请求,如果发现某个ip请求频率很高,可以弹出一个验证码让他回答,避免恶意脚本一直请求。


           2     JVM调优。


                Jvm调优的重点就是垃圾回收和内存管理,垃圾回收的时候会导致整个虚拟机暂停服务,因此尽可能地缩短垃圾回收的处理时间。在JVM启动参数中,可以设置跟内存,垃圾回收相关的一些参数设置,让jvm获得最佳性能。


                1开启-server模式,虽然启动慢,但是运行效率很高。

                2针对jvm堆的设置一般,可以通过-Xms -Xmx限定其最小,最大值。为了防止垃圾收集器在最小,最大之间收缩堆而产生额外的时间,通常将最大值最小值设置为相同的值。

              

          

            3.  高并发下的Redis和Mongodb。理解的就是个map,以键值对方式存储数据,然后加入消息队列。


                消息队列链接:http://blog.csdn.net/seven__________7/article/details/70225830


           


收获:



                   如上所述。

          






返回列表 返回列表
评论

    分享到