![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工作案例
xupeng874395012
这个作者很懒,什么都没留下…
展开
-
修改单例属性引发的血案
背景 最近接触的一些系统中遇到一个问题,一个交易的服务对外提供了支付和退款两种能力,但是发现运行时交易的服务走了退款。 原因是spring容器管理的一个对象service 属性运行时被改变,导致上下流程对不上的问题,多业务链路并发时引发运行时属性错乱,导致 支付和退款行为混淆 下面是大体代码样例。记录下问题原因 样例 1、定义一个核心支付服务 public interface CoreService { public BaseResult trade(TradeParam tradeParam);原创 2021-02-25 17:58:22 · 517 阅读 · 0 评论 -
大流量放大镜下看缓存击穿事件
缓存击穿这个词语在很多程序开发者来讲是再熟悉不过了。当下互联网大流量的环境下,缓存几乎可以说是在当前软件开发应用中必不可少的一点了。 先简单介绍下业务场景,在渠道引流的过程中,下放引流利益点声明,引流之后针对完成任务的有效用户进行之前承诺利益点的发放,承诺有效期自然周有效。以此引流拉新业务为目标,程序上分为四大模块,分别是承诺声明利益点的展示模块、千人千面实时分析模块、分析结果业务管理模块、...原创 2020-04-18 17:02:36 · 270 阅读 · 0 评论 -
鉴权案例
项目背景 本项目为销售运营体系的中的一个子系统,系统中的权限分为两个部分 1、 ACL系统统一对人员进行行为鉴权 2、 数据层面的逻辑鉴权 目前系统中的鉴权使用方式纷杂多样,且基本都写在了每一个处理中了,跟ACL系统交互也不统一 ,并且ACL的权限点直接在本项目中使用也不是很方便(因为ACL权限点是在发布的时候才有的) 任务和方案 1、 ACL权限要在当前系统中基于配置实原创 2017-03-25 08:46:49 · 737 阅读 · 0 评论 -
内存的数据组装
需求场景: 将当前人员可以查看到的列表资源导出为Excel文件 导出信息的主体包含了大量的附加数据信息,且这些附加数据信息存储在多个系统中。 实现方案 方案一: 将主体数据一次性查询出来然后遍历查询,附加数据用到一个查询一个,一次循环N次调用。最终组合完成数据 方案二: 将主体数据一次性查询,并且把关联key组装好,使用批量方法调用把数据一次性弄过来,然后通过循环的嵌套把数据组装完成原创 2017-05-23 19:02:03 · 375 阅读 · 0 评论 -
权限处理模型
最近经常会处理一些关于权限的问题。在此整理下工作过程中的一些想法。 就我个人理解,关乎权限的处理,无外乎把握住3点,第一个应该就是人了,在此称为被申请单元;另一个就是就是权限检测的逻辑处理了,在此称为处理单元;最后一个就是权限检测通过之后我们的获取到的目标数据了,在此称为目标单元。 那么所有的权限逻辑都可以称之为申请单元针对于目标单元要达到某些目的,在此过程之中需要通过某个处理单元的检测原创 2017-07-11 18:10:55 · 333 阅读 · 0 评论 -
DB对象属性用包装类和基础类型的区别
我们在操作数据库的时候以下这段代码是很常见的了 <isNotEmpty property="status"> status=#status#, </isNotEmpty>private int stauts; private Integer status;这两部分代码还是有区别的,当我们使用int的时候, 1、如果数据库的信息支持null数据,那这个时候,查询会出现异常原创 2018-03-30 10:34:21 · 512 阅读 · 0 评论