摘要: 关于订单库存扣减的最佳实践 一: 背景 ​ 在电商的业务场景中每个商品都是有库存的,而且可能存在很多限售的运营策略。我们团队面临社区电商的业务场景更为复杂。不仅仅是库存限售,存在区域,门店,用户,运营分组,物流等的限售策略。如何面对日单量千万级别(未来更多),和多个维度的限售策略而不超卖,少卖是一个 阅读全文
posted @ 2021-11-02 23:05 一懒众衫小QAQ 阅读(1977) 评论(4) 推荐(2) 编辑
摘要: CompleteFuture实现简单的任务编排实践 一:前言 ​ CompleteFuture是java8 新提供的API,是对函数式编程思想的体现,提供了很多的对于函数式编程支持。不止有同步处理功能,还有异步处理能力。 通过函数式编程可以实现线程的简单任务编排。高效,整洁实现多线程异步编程。 二: 阅读全文
posted @ 2021-10-18 22:15 一懒众衫小QAQ 阅读(4836) 评论(0) 推荐(0) 编辑
摘要: MVCC原理分析 1:什么是MVCC ​ MVCC是英文名称Multi Version Concurrency Control 的简称,就是多版本并发控制。 MVCC可以说实现,读不加锁,读写不冲突。这个可以大大的提高Mysql的性能。 2:MVCC解决了什么问题 多事务的并发进行一般会造成以下几个 阅读全文
posted @ 2021-05-01 15:12 一懒众衫小QAQ 阅读(1270) 评论(0) 推荐(0) 编辑
摘要: 设计模式之-策略模式 ​ 开发中经常碰到很多同一入口,但是不同场景的业务需求,很多人都是if-else一把梭。这样开发是简单,但是代码很丑,业务耦合严重。也很不利于后期代码的维护,久而久之,代码就变成了"屎山",无人敢动。 ​ 测试模式就是可以解决少写if-else,让业务解耦,便于业务的拓展,逻辑 阅读全文
posted @ 2021-02-01 22:32 一懒众衫小QAQ 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 如何实现一个排行榜 场景 1:用户签到可以获得积分,需要按照用户维度每天进行用户总积分排行榜 2:需要近实时更新排行榜 3:在积分相同的情况下,需要按照先注册的用户排在前面 4:用户量100w 5:排行前20名称 设计 1:排行榜的实现可以借助redis的SortedSet数据结构实现排行榜,sor 阅读全文
posted @ 2022-04-20 00:03 一懒众衫小QAQ 阅读(438) 评论(0) 推荐(0) 编辑
摘要: RocketMq对于消费者对于消息的如何处理的 1:如果设置了自动提交 返回: ConsumeOrderlyStatus.COMMIT, ConsumeOrderlyStatus.ROLLBACK, ConsumeOrderlyStatus.SUCCESS , 返回者三种状态都是会提交offset, 阅读全文
posted @ 2022-02-06 16:58 一懒众衫小QAQ 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 装饰者设计模式在业务中的实践 ​ 装饰者设计模式在顾名思义就是在原来逻辑上进行一层装饰逻辑,从而实现不通过if-else实现对优雅的对基础逻辑的扩充。在JDK源码中的InputStream中就有使用了装饰者的设计模式。从而实现通过BufferedInputStream、DataInputStream 阅读全文
posted @ 2022-01-16 23:30 一懒众衫小QAQ 阅读(354) 评论(1) 推荐(0) 编辑
摘要: Mybatis实现分包定义数据库 背景 业务需求中需要连接两个数据库处理数据,需要用动态数据源。通过了解mybatis的框架,计划 使用分包的方式进行数据源的区分。 原理 前提: 我们使用mybatis都会有四个步骤 1:构建SqlSessionFactory 2:通过SqlSessionFacto 阅读全文
posted @ 2022-01-09 16:45 一懒众衫小QAQ 阅读(267) 评论(0) 推荐(0) 编辑
摘要: JAVA日志发展史 第一阶段 2001年以前,Java是没有日志库的,打印日志全凭System.out和System.err 缺点: 产生大量的IO操作同时在生产环境中无法合理的控制是否需要输出 输出的内容不能保存到文件 只打印在控制台,打印完就过去了,也就是说除非你一直盯着程序跑 无法定制化,且日 阅读全文
posted @ 2021-12-12 21:51 一懒众衫小QAQ 阅读(520) 评论(1) 推荐(3) 编辑
摘要: 无状态状态机 一:前言 ​ 在项目中经常有一些工单,申请之类需要对状态进行流转。这种需求一般都是满足什么条件然后就翻转状态。这些流程结构相似得逻辑,感觉可以抽象处理。用一个通用得结构处理,可以让系统更加整洁,代码逻辑更加单一。 ​ 发现阿里开源一种,轻量级得无状态状态机得组件。仔细研究一下,确实很适 阅读全文
posted @ 2021-10-15 22:38 一懒众衫小QAQ 阅读(1059) 评论(0) 推荐(2) 编辑
摘要: git操作清单,问题答疑 一:git操作示意图 常见概念说明 Remote:远程分支 Repository:仓库 index:暂存区 workspace:工作空间 二:常见操作 1. 新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ 阅读全文
posted @ 2021-10-10 21:41 一懒众衫小QAQ 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 时序图 一:简介 ​ 时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消 阅读全文
posted @ 2021-10-10 12:28 一懒众衫小QAQ 阅读(1250) 评论(0) 推荐(1) 编辑