在JDK8中的JVM
对Redis集群与RedLock的理解
该文为回答该 Issue 的答案:https://github.com/Snailclimb/JavaGuide/issues/567
之前研究过一段时间,用的是 Redisson 框架,这里是 Redission 实现 Redlock 的官方文档 。以下为个人见解,可能有误
0. 背景
- 平时理解的 Redis 的集群模式:http://www.redis.cn/topics/cluster-tutorial.html
- Redlock 多节点:http://redis.cn/topics/distlock.html
2019/48周总结
2019/47周总结
库存与超卖的小结
0. 背景
最近业务同学在双11做优惠券活动相关的时候,出现了超领的情况,本来定的是一百张,最后超领到了三百多张。最后通过修改数据库的查库存语句解决了问题,峰值1W+ QPS 也没有出现问题。
本来想自己整理一下关于库存和超卖的博文,但是在收集资料的时候,发现京东已经有一篇质量非常高的文章,索性直接转发过来了。
原文地址:https://www.infoq.cn/article/jingdongdaojia-inventory-system/
2019/45周总结
2019/44周总结
2019/43周总结
压测性能总结
0. 背景
临近双11,公司对所有的接口都使用阿里云的全链路压测工具做压测,比如首页的 TPS 是3000,支付的 TPS 是 60,根据不同的接口做不同的策略。其中数值是根据平时的5倍计算得出的。
这篇博文就是使用阿里云的 arms 监控(APM的一种,类似 skywalking,可以查看请求的每个链路)以及 PTS(做压测的一种工具)对两次压测的优化总结。
待拆解项目机器集群A:48台,配置为4核8G
本项目机器集群B:6台,配置为4核8G
由于压测时正在在拆解服务中,因此大部分接口在A集群中。
A 集群20%的接口通过 RPC 请求到 B,80%的接口通过发送消息跟 B 交互。
数据库配置:1写5读,配置较高,只在主库操作。在压测过程中主库 CPU 基本属于较为稳定。
ONS:发送、接收消息总 TPS 为 5000,在压测过程中基本还未达到该阈值。总 TPS 稳定在 40(即发、接消息各20)。
Redis:4G两节点,不是瓶颈。
第三方请求接口主要有:支付的请求下单、通知回调、银行卡四要素验证等。