昨天刚写了 可编排策略在交易系统的应用,今天小伙伴就给我提了个需求。 背景 最近由于新业务的需要,需要对原有工单的推单逻辑进行变动。我是想着尽可能不对原有逻辑进行改动,毕竟业务还一直在跑,就开启了一个小模块进行代码的组合。 在设计评审中,我一直强调要设计的灵活些。 校验规则一定要原子化,然后可编排在任何一处场景。校验的的入参和出参必须抽取,并标准化。 直接把我昨天写的文章扔过去了。 然后就差一个状态机了,得我就把框架搭起来。 设计 工单的流转完全可以状态驱动,如果发现两个状态都指向了一个处理逻辑,那就说明,你需要加…

2022/08/24 0条评论 676点热度 0人点赞 阅读全文

背景 在2019年的时候,由于组织架构变更,我接手了交易板块。接手后开始找之前的产品、开发沟通了解下这块有什么问题。 综合了下有以下问题: 需求积压严重,开发列了满满一小本子(开发); 需求提出方多,经常功能打架,然后就复制出来了一套(涉及的业务线业比较多)(开发); 需求处理慢(产品); 进入交易系统太慢(1~3秒),好多用户跳出(产品); 生产经常出现各种问题,开发解决速度慢(产品); 产品链路数据无法统计,只能分析出最终结果,具体哪块转化率低,无法统计(产品); 用户转化成本过高(风控); 动一块功能,所有的…

2022/08/24 0条评论 634点热度 0人点赞 阅读全文

大神Doug Lea在http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf 里详细介绍了java nio的实现思路,里面也详细介绍了reactor模式,后文统一称为老爷子的文章。 看这篇文章建议先了解下linux中的文件描述符与套接字socket redis中的IO多路复用select和epoll 传统阻塞I/O模型 以上图片摘自大神Doug lea 的nio。 特点 一个后端线程只能处理一个客户端请求 采用I/O阻塞的模式处理客户端请求 分析 随着并发量上升,后端资源有限的情…

2022/01/06 0条评论 821点热度 0人点赞 阅读全文

设计模式是软件设计中常见问题的典型解决方案。它们就像能根据需求进行调整的预制蓝图, 可用于解决代码中反复出现的设计问题。 设计模式相对比较软性,是对解决某类场景问题的高层描述; 根据使用人的不同应用的也不同 只是一种思想,没有好坏之分,只有更适合; 我们应该关注要达到什么样的目的,怎么更加灵活的做到; 软件中唯一不变的是变化,设计模式让我们想各种方法屏蔽这种变化; 设计模式包含: 意图:简单描述问题和解决方案 动机:进一步解释问题并说明模式会如何提供解决方案; 结构:如何将软件结构组装起来并形成关系 设计原则: S…

2021/08/19 0条评论 754点热度 0人点赞 阅读全文

5ycode 被管理耽误的架构师。工作、学习过程中的知识总结与分享,jvm,多线程,架构设计,经验分享等。 28篇原创内容 公众号 什么叫代理模式? 代理模式是在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类增加功能。代理对象在在原始类和代理类之间起到了中介作用。 代理模式的目的: 保护原始类; 增强原始类; 我们在生活中的经常遇到这样的场景如:房屋中介、猎头等。 中介保护了我们的隐私,我们除了提供基本的房屋买卖、找工作等需求,中介会通过自己的资源、渠道等帮我们实现,我们本来的意愿并没有改变。 …

2021/05/14 0条评论 799点热度 0人点赞 阅读全文