售票系统卖票问题总结 有更新!

  |   0 评论   |   1,972 浏览

这篇文章总结一下最近朋友公司遇到的售票系统上线以及卖票的问题。

这是个售票系统,卖明星的演唱会门票。这种门票的售卖场景其实跟秒杀是类似的,都是集中在某一个时间段内并发订单量会非常很高。年前卖票一共4场,每场订单量在1w以内。接下来还原每一场的问题。

selenium自动化监控实践

  |   0 评论   |   1,166 浏览

最近公司有一套页面需要使用selenium来监控,确保页面功能在频繁发布之后从使用上正常的。经过近两周的迭代,目前已经基本成形了,监控了近30个页面的近60个功能点。这里为这个项目做个总结。

理解Java内存模型 有更新!

  |   0 评论   |   980 浏览

从抽象的角度来看,JMM定义了线程与主内存之间的抽象关系:线程之间的共享变量存储在主内存中,每个线程都有一个私有的本地内存,本地内存中存储了该线程已读/写共享变量的副本。

这里需要注意的是,本地内存是JMM的一个抽象概念,并不是真实存在,它涵盖了缓存、写缓冲区、寄存器以及其他的硬件与编译器优化。

那么,JMM怎么来控制线程之间共享变量的同步呢?首先我们需要了解下,同步共享变量在JMM中主要有什么挑战:重排序。

秒杀场景下超卖问题解决方案 有更新!

  |   0 评论   |   8,932 浏览

问题域一定要把握好。今天有人问到我“秒杀场景下超卖问题怎么解决”,我立马把问题域扩大到“秒杀系统要怎么建设”,方向已经偏到十万八千里了,而我也不知道如何回答了。

秒杀超卖现象:在高并发下,多个线程并发更新库存,导致库存为负的情况。

我搜集了一些资料,整理了一下,秒杀可选方案主要有以下三种:

Dubbo的ExtensionLoader小结 有更新!

  |   0 评论   |   1,276 浏览

今天看了下dubbo的SPI实现,收益匪浅,这里总结一下:

1. 优点:相对于JDK原生的SPI机制

  1. 按需加载,减少不必要的初始化
  2. 扩展点加载失败,相比JDK,可以准确报出错误数据
  3. 扩展点可以IOC以及AOP

高性能MySQL之索引小结 有更新!

  |   0 评论   |   159 浏览

最近把《高性能MySQL》通读了一遍,受益匪浅,很多知识点在实践中具有很强的指导意义。虽然我已经经历了很多项目的历练,自以为数据库掌握得不错,读完本书心里默默抽了自己一个耳光,方知我是井底之蛙。数据库这块儿作为系统的核心,深入了解非常必要。这里首先对索引做个小结。

mongodb学习与使用总结

  |   0 评论   |   187 浏览

mongodb是一种关系型数据库,它相对于传统关系型数据库以及其它NOSQL有什么特色?

mongodb是一种文档型数据库,最大的特点就是支持可变的schema,特别适用于存储电商的品类信息。而关系型数据库就比较麻烦,需要使用专门的子表来存储。

使用windows自带计划任务备份博客 有更新!

  |   0 评论   |   153 浏览

前两天使用crontab for windows的工具,实现了定时备份。在这几天的使用中发现,这个工具不太稳定,设置好了总是不太能正常运行,没能找到具体原因。由于crontab for windows也是基于windows的计划任务来运行,那我们可以尝试直接通过计划任务的方式来实现定期备份。

备份博客数据解决方案 有更新!

  |   0 评论   |   204 浏览

搭建完博客后,第一件事要解决的就是怎么进行博客系统的数据备份。虽然是云服务器,但是仍然存在硬盘挂掉的风险。可以用腾讯云的解决方案,比如快照,或者再买个云服务器的方案,但是这样成本比较大,不太适合博客这样的系统,不划算。

博客的备份频率其实不高,可以在自己笔记本上用计划任务的方式来实现定时备份。

变量到底该如何命名? 有更新!

  |   0 评论   |   217 浏览

最近挺纠结一个问题:变量到底该如何命名?

尤其是在复杂业务场景下的变量命名,非常难以命名。举个我最近碰到的例子:“3月份某机房非某客户网民带宽95值”,有人会说,直接“bandwidth_95”不是就可以了?如果没有上下文的干扰,确认可以,因为没有歧义。而一般有这种复杂变量的业务中,充斥着大量似是而非的变量,类似的有:“3月份某机房95值”、“3月份某客户某运营商的网民带宽95”,而且这些变量之间还需要进行大量计算,那么这种简单的命名方式则行不通。

愿你走出半生,归来仍是少年 有更新!

  |   0 评论   |   211 浏览

刚创建这个博客的时候,我发现个问题,会不停的有IP尝试入侵我的主机,通过lastb命令可以看到很多尝试:

截图是我已经不断屏蔽IP之后的结果,仍然会有,于是我想肯定可以根据lastb来封锁IP,于是我写了一个定时任务,来进行IP屏蔽。逻辑是这样的:

如果一个IP,重复登陆失败3次,那么可以认为这个登陆肯定不是我登陆的,直接屏蔽。