- 博客(83)
- 资源 (25)
- 问答 (4)
- 收藏
- 关注
原创 工作纪实47-关于线程使用的几点思考
在某些个人认为不是瓶颈的中间件使用比如redis的mget或者pipelineGet都偶尔超过10ms甚至30ms;最近线上存在一些cpu的锯齿情况,类似于推荐项目就一个核心接口,业务逻辑和计算链路很长;
2024-03-29 15:55:41 243
原创 工作纪实41-多线程写了一段还不错的代码
最近换的部门,对接口性能要求非常高,单台机器的qps高峰大概在300左右,导致我非常谨慎,各种catch和兜底。遇见个场景,2个线程处理任务,必须都在10ms内返回(一共10ms),如果返回不了,就不处理;
2023-12-29 17:50:56 367
原创 工作纪实40-使用redis的几种姿势
线上查问题看某个redis的key值,记录一下。1.直接使用telnet进行连接(贼拉方便)2.使用redis-cli连接。网上一大堆,不做说明。
2023-12-28 14:50:49 657
原创 工作纪实38-排查cpu彪高(死循环)
昨天晚上上线了一个服务,第二天发现CPU持续飙高到70~90%,触发平台的自动扩容,后定位出问题后降低到3%此处由于没有保留现场信息,实际查询的线程栈,可以观察到业务类的X行定位信息,定位死循环。0x926: 线程id,0x是16进制,926是第3步得到的线程id。2125是服务进程的pid,jps可以查看。4.查看对应线程栈信息。
2023-12-19 15:28:36 374
原创 工作纪实38-ES分页数据问题
之前分页查询有接ES,随着系统使用时间数据量不断增加,会有如下报错。关键信息就是 Result window is too large, from + size must be less than or equal to: [10000] but was [100001]方案一、接口层面限制查询到10000条,业务端给提示让使用方继续筛选数据。方案二、使用其他的深分页策略:scroll 或者scroll after。方案三:创建索引时设置【不推荐】
2023-09-13 00:23:51 351
原创 工作纪实37-mybatis-plus关闭结果集输出log
1.springboot+mybatis-plus+logback.xml组合,运行mapper会把sql查询会把结果也打印出来),但是就是不想让它输出到控制台,今天就来记录一下如何操作才能不把sql结果集打印出来,当然sql语句还是会打印的。:注释掉yml中mybatis-plus configuration log-impl输出到控制台的配置;修改后再次查看sql打印情况,发现只有sql语句、参数、结果集中数据的数量被打印出了,效果达到。:在yml中增加log4j日志的配置。
2023-08-22 01:25:01 1669
原创 工作纪实35-API做数据清洗限流
接口调用三方服务做异步数据清洗,但是怕把别人的服务调崩了,对接口加入Guava的限流策略。并发情况下,可以保证流速。
2023-07-28 10:45:37 95
原创 工作纪实33-给定数据区间对应的指标类型,根据当前值命中数据区间
背景: 给定一个数值value和数据连续区间[0,10,100],判断对应值是否达标。思路:左侧右侧各加入一个值,循环判断数据区间。
2023-06-30 11:20:02 115
原创 工作纪实_32-倒排期需求python实用性上场
为了更好的将精力放在业务实现上,因此写了一个python来处理这种数据导入的问题,java写实在是太麻烦了,不管是POI还是easyExcel,而且最主要是这个后面完全会调三方接口来做,只是一个过渡期,大pyhton上场。产品提了一个倒排期需求,业务完成度和时间都有一定要求;必须完成,且有一部分数据是通过excel进行导入,且数据不算太大,但是列很多,一个月导一次。写个插入接口,齐活!
2023-05-12 14:27:15 117
原创 工作纪实-31-Excel之VLookUp函数关联查找合并两批数据
背景:有两批数据,第一批:任务总个数,第二批:任务完成数,需要统计出每个门店的任务完成率。
2023-05-05 23:33:23 302
原创 工作纪实_30-MQ消费redis延时处理合并消息
公司的上游数据,通过MQ给我们做数据同步,但是消息存在各个业务节点,且短时间内可能发送多次,并且我们收到消息反查上游服务时,他们的业务数据存在一定延时,这就导致收到的消息,并不一定是他们最新的。
2023-04-04 15:43:05 214 1
转载 工作纪实_27-ES处理text字段对应的List<String>存储以及精准/模糊搜索
最近在工作中需要对ES新增一个在java中属于List的es字段,搜索这块需要去处理精准和模糊匹配的问题。
2022-08-25 14:14:29 1857
原创 公司图片111111
[外链图片转存失败,源站可能有防盗在这里插入!链机制,建描述]议将图片上https://传(imblog.csngg.cn/9477bba53e584159bb4d1167229b4a6d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5beu5LiN5aSa56iL5bqP5ZGY,size_20,color_FFFFFF,...
2022-04-02 14:19:53 123
原创 SpringCloud源码解读【01】-OpenFeign
一、Open Feign声明式 RESTful客户端;类似于 RestTemplate,OpenFeign是对 JDK的 HttpURLConnection(以及第三方库 HttpClient 和 OkHttp)的包装和简化,并且还自动整合了 Ribbon。OpenFeign会完全代理 HTTP 的请求,在使用过程中我们只需要依赖注入 Bean,然后调用对应的方法传递参数即可。Feign的第一个目标是减少HTTP API的复杂性,希望能将HTTP调用做到像RPC一样易用;这对程序员而言屏蔽了 HTT
2022-01-19 18:24:17 1063
原创 Gitlab代码回滚
在当前branch上多次commit代码并且push后,发现不符合要求,需要回滚到特定的版本。步骤如下:1.git log 找到要回滚的提交版本2. git reset --hard {commitId}$ git reset --hard d580ea7dab097d8ea6d658adbc7e9d57ef22669a EAD is now at d580ea7da add a constellation test casegit push -f本地回滚之后,需要将改变推送到服务器,执
2021-07-02 17:09:00 753
原创 IDEA找不到或无法加载主类
场景:启动springboot main方法找不到主类前提:保证包配置没问题,pom文件父子依赖关系没问题可以尝试使用下面的组合套餐1.清除idea缓存2.mvn clean install
2021-03-27 10:28:54 198
原创 工作纪实_26-SpringCloud网关代理服务配置负载出现gateway IllegalStateException: Invalid host lb://xxxxx
SpringCloudGateway网关配置:spring: cloud: gateway: #开启基于注册中心的路由表且支持实例名小写 discovery: ## 是否可以通过其他服务的serviceId来转发到具体的服务实例。默认为false locator: enabled: false # 是否支持serviceId小写模式 lower-case-service-id:
2021-03-26 18:57:53 1077
转载 OAuth2.0第一篇-概念
目录OAuth2.0解读一、含义二、四种授权流程2.1 授权码第一步第二步第三步第四步2.2 隐藏式第一步第二步2.3 密码式第一步第二步2.4 凭证式第一步第二步token令牌的使用1. 请求授权资源时携带令牌2. 更新令牌OAuth2.0解读前言:参照的是阮一峰老师的博客,基本上是照搬过来的,看别的资料找不到全乎的,OAuth2.0的英文官网文档看不下去,只能是先搬过来了,自己吃透以后再去做实战!阮一峰老师博客的OAuth2.0地址: http://www.ruanyifeng.com/blog/
2021-03-12 10:59:13 615 1
原创 工作纪实_25-SpringCloud整合sentinel问题汇总
sentinel官方文档1.纠结于sentinel 包的引入很多文章、资料都贴着下面的包<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-annotation-aspectj</artifactId> <version>1.6.3</version></dependency><depen
2021-02-23 16:22:10 738 2
原创 工作纪实_24-使用@Sl4j注解但是确无法使用log.info打印日志
如果出现这种情况,第一时间先执行打包命令,这么做是为了检查log日志包是否齐全,此次我打包报错是找不到org.slf4j包,很明显,我们检查一下相关的依赖即可:<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>2.0.0-alpha1</version></dependency
2021-02-22 16:44:49 1786 1
转载 工作纪实_23-git忽略文件commit不生效的问题
当我们将 .gitignore 文件配置好后,却往往不能失效。这是因为 .gitignore 只能忽略那些没有被追踪(track)的文件,因为 git 存在本地缓存,如果文件已经纳入了版本管理,那么修改 .gitignore 是不能失效的。那么解决方案就是要将 git 的本地缓存删除,然后重新提交。git rm -r --cached .git add .git commit -m "update .gitignore"...
2021-02-07 17:12:02 264
原创 工作纪实_22-搭建分布式项目时使用spring-session替代token
分布式微服务`解决方案分布式环境下,用户登录后的状态信息,一般有两种解决方案:1.Token步骤:使用公钥、私钥对token进行相应的解密和加密操作,再通过网关层将用户信息通过header传递到各个服务,客户端服务接收到请求时候,解析header即可2.服务之间的feign远程调用,通过网关层传递的请求中的header信息,解析出用户信息的同时,利用fein将用户信息透传到其他服务2.分布式Session单体服务下,session可以很好的帮助我们解决用户身份的会话状态问题,因为此刻我们只
2021-01-21 17:26:02 676
原创 CAS全面解读
CAS自旋锁悲观者与乐观者的做事方式完全不一样,悲观者的人生观是一件事情我必须要百分之百完全控制才会去做,否则就认为这件事情一定会出问题;而乐观者的人生观则相反,凡事不管最终结果如何,它会先尝试去做,大不了最后不成功。这就是悲观锁与乐观锁的区别,悲观锁会把整个对象加锁占为自有后才去做操作,乐观锁不获取锁直接做操作,然后通过一定检测手段决定是否更新数据。底层原理乐观锁的核心算法便是CAS[Compare And Swap],它是借助C来调用CPU底层指令实现的,基于硬件实现,不需要进入内核,不需要
2020-12-29 11:20:26 220
原创 CAS无锁自旋解读
目录Volatile全面解读一、相关概念JMM同步规则1. 线程解锁前,必须把共享变量的值刷新回主内存2. 线程加锁前,必须读取主内存的最新值到自己的工作内存3. 加锁解锁是同一把锁二、`volatile`作用2.1 保证可见性2.2 不保证原子性2.3 禁止指令重排示例1示例2三、演示代码Volatile全面解读volatile是Java虚拟机提供的轻量级的同步机制,可以理解是是乞丐版的synchorized一、相关概念JMMjava memory model本身是一种抽象的概念并不真实存在,它
2020-12-27 22:26:24 220
原创 工作纪实_21-搭建脚手架对spring注解bean顺序管理引发的思考
最近在给公司搭建一套脚手架,其中有对一些通用功能,比如shiro授权模块的代码,以及网关解析token的代码做一些封装,发现对于spring的bean关系管理,存在一些值得记录的问题场景 1.A类代码中,依赖于B类中注入的一个bean如果搭建过项目的工具包,封装过一些功能的同仁肯定会遇见这个问题,举个小列子:@Configurationpublic class A{ @Bean public B b() { return new B(); }}@Configurationp.
2020-12-18 16:34:35 112 2
testng官方文档翻译.md
2020-01-10
SpringBoot集成Quartz分布式定时任务
2018-11-01
Netty权威指南第二版 MessagePack部分源码
2018-04-12
msgpack-0.6.7jar包
2018-04-11
hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程
2018-03-16
SSM整合KindEditor-4.11编辑器
2017-12-26
slf4j-1.7.25jar包+logback-1.2.3jar包
2017-12-05
CXF协议WebService+Spring客户端和服务端程序,实现了多数据源动态切换
2017-12-05
纯Socket编写的client和server端2个程序,多线程文件异步上传,通信
2017-12-05
Mybatis批量插入出现OOM异常
2021-04-16
Spring Security OAuth2获取授权码code的接口跳转的思考
2021-03-26
Idea的debug模式查看整个链路调用
2021-03-25
SpringSecurity OAuth2.0获取授权码的触发问题
2021-03-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人