![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构
疯帽子_0110
这个作者很懒,什么都没留下…
展开
-
高并发系统设计原则
功能特性有选择对于一个需要承受高并发的接口,在功能上尽量不涉及一些难以缓存和预热的数据。比如用户维度的数据,缓存命中率低,会带来高并发的sql查询。示例:1、秒杀时,不同用户有不同的秒杀内容和优惠,每个用户都会进行一次sql查询。2、多个优惠活动时,用户仅能参加一种为参加过的活动。解决方式:①转换数据维度,秒杀资格以userId为key缓存命中率低,可以以秒杀活动id为key。②将个...转载 2019-09-27 10:00:38 · 227 阅读 · 0 评论 -
秒杀实践
秒杀业务的特点:瞬时流量大参与用户多,可秒杀商品数量少请求读多写少秒杀状态转换实时性要求高秒杀分为三个阶段:活动未开始仅有两种请求,一是加载活动页信息,二是查询活动状态得到未开始结果。两种请求各占一半。活动进行中持续非常短,用户大量发起秒杀请求,瞬时秒杀请求占比增高,能不能抗住秒杀请求就是秒杀系统是否能抗住高并发的关键。活动结束进入结束状态,请求情况同活动开始前。加...转载 2019-09-27 10:02:37 · 90 阅读 · 0 评论 -
Spring事务传播机制原理解析-转
1.PROPAGATION_NEVER该特性规定了以非事物方式执行,如果当前存在事物,则抛出异常。// 1.PROPAGATION_NEVER --> 以非事物方式执行,如果当前存在事物,则抛出异常。if (definition.getPropagationBehavior() == TransactionDefinition.PROPAGATION_NEVER) { thro...转载 2019-08-28 14:33:14 · 1627 阅读 · 0 评论 -
Mybaties原理解析
MybatiesMybaties的原理分为两部分生成映射器MapperStatement一个映射器是由3个部分组成的:MapperStatement,它保存映射器的一个节点(select|insert|update|delete)。包括许多我们配置的SQL,SQL的id,缓存信息,resultMap,parameterType,resultType,languageDriver等重要配...转载 2019-09-27 10:11:14 · 493 阅读 · 0 评论