- 博客(12)
- 收藏
- 关注
原创 shiro1.7.0问题
https://blog.csdn.net/qq_35598240/article/details/110310638
2020-12-04 16:17:49
1363
原创 vue+springboot前后端分离对接单点登录
本来我们自己是有一套登录系统的,且一直在线上使用!但公司要求登录统一对接集团的单点登录,且时间很急!由于之前没有相关经验,睬了很多坑,所以记录一下!开始理一下流程,通过通过域名访问项目,首先进的是登录页,这个是nginx的配置,在进登录页挂载之前我先请求了一个后端接口这个beforeMount函数是在进页面之前就请求的函数, 这时候到了后端接口,接口是啥不重要,但是都会先经过这个过滤器,下面试过滤器具体实现代码代码比较长,大致的流程是判断当前单点登录的session是否为空,如果不是
2020-08-15 14:20:06
5095
2
原创 分布式锁总结
问题场景:由于我们项目是多台共同部署同一个项目的,此时传统的synchronize锁等只能锁住当前虚拟机!在操作统一资源时候并不能解决并发问题,此时需要一个共有资源作为锁!分布式锁实现方式:1:数据库锁(无锁失效机制)2:redis锁3:zookeeper锁我司使用的是redis锁,本文是自己对redis的理解!1.获取锁,基于redis的sennx指令,redis高版...
2020-08-15 12:33:03
119
原创 分布式接口操作优化---试乘试驾
近期新做一个试乘试驾功能,原以为是简单的保存功能,发现需要涉及到四五个服务十多个接口!业务流程分析:1.验证手机验证码2.查询用户信息(用户服务)3.经销商ca授权(法大大)4.个人用户三要素验证(法大大)5.个人ca授权(法大大)6.生成合同(法大大)7.个人签章(法大大)8.经销商签章(法大大)9.保存合同(合同微服务)10.调用clm建卡(clm服...
2020-08-15 12:32:46
227
原创 记一次批量操作优化
遇到的问题:生产上销售经理批量审批线索的时候接口非常慢并且偶尔服务器会挂掉解决思路:首先审批只改了线索的状态,线索表有几百万数据,初步怀疑是表数据量大引起的,但是更新表并不会太慢,而且也不会把服务器压垮分析代码找出问题:带着问题分析代码,一步一步执行!发现问题在审批通过的时候,会把当前线索的信息作为参数调用其他系统开始建卡!首先在这里增加日志,这边分为两步,根据线索id查询线索...
2020-08-15 12:32:37
130
原创 分布式一致性---定时任务和mq实现分布式事务
业务场景:在做促销中心时需要一个接口,客户领取大通宝!本地数据库更新领取人和领取状态,然后在用户中心记录余额增加(此处有并发,使用的是分布式锁,前文有介绍)问题分析:由于本地库和用户中心库是在不同数据库,涉及到事务问题,spring的事务只能控制当前库回滚,不能控制远程库!原始操作:1.先调用户中心余额增加,本地记录领取人,这是同步的,根据返回结果来判断是否本地记录领取人,此时...
2020-08-15 12:32:26
690
原创 hashset踩坑
业务场景:在应用配置的时候需要给应用配置岗位信息,此时应用岗位可能会有重复的问题!虽然前端会进行校验,但是作为一个合格的后端我是不相信前端的!使用hashset去重:源码如上,可以看到hashSet的add方法调用的是HashMap的put的方法,而put方法返回的是上一个value值,把这个值是否为空作为方法返回!这样根据add的返回值就可以判断是否重复!但是每次调用的时候,多个...
2020-08-15 12:32:15
189
原创 接口优化——异步线程池处理
在保存接口的时候需要创建合同,甲方签章,已方签章。这个时候采用线程池异步处理,当调用查看页面的时候要是没有合同,前端继续请求,大大提高了接口响应速度!...
2020-08-15 12:32:02
214
1
原创 设计模式之策略模式
策略模式在平时开发中应该算是使用算多的设计模式了。在spring源码中大量使用了这种模式,比如解析xml标签时是根据配置选择相应的解析类的。参考优秀框架的经验,所做的项目有一处场景是使用了数据库采取策略模式。业务场景:在我们计算服务费得时候场景比较复杂。有预审服务费,后审服务费,向中标人收取服务费,向投标人收取服务费.....以后还会接着改造,传统的做法写if,else呗,只要增加一种策略...
2020-08-15 12:31:49
67
原创 spring上传文件线上踩坑
问题:在spring文件上传的时候,本地和测试环境是可以拿到文件的,但是在生产上面无论是swagger请求还是前端请求文件对象都是空!下面是上传文件的代码最后添加一个文件上传配置类问题解决...
2020-08-15 12:31:35
117
原创 线程池踩坑
之前做试乘试驾的时候保存的时候用到了线程池做异步,但是在生产上解析token的时候异步线程获取不到请求头的token信息。改进:主线程解析token信息,然后作为参数传参给异步线程...
2019-12-06 14:46:50
181
原创 基于Zookeeper的ActiveMQ高可用方案配置详解
方案描述该方案使用Zookeeper选择出ActiveMQ的Master。Master会将每次的消息接收和处理同步到Salve之后再返回给客户端。如果Master崩溃,会重新选择Slave升级为Master,然后继续提供工作。该方案使用LevelDB持久化消息,每个MQ节点单独存储数据。配置步骤Zookeeper集群配置版本:zookeeper-3.4.9(需要安装JDK)...
2019-08-22 14:07:21
238
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人