摘要: 背景 本文主要是一个随笔,记录一下出现"no main manifest attribute"的解决办法 问题原因 主要是近期在构建一个镜像,在镜像构建成功后,运行一直提示"no main manifest attribute",当时还在想,是不是Dockerfile写错了,后来仔细检查了一下,发现 阅读全文
posted @ 2024-01-19 10:21 初夏的阳光丶 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 本文主要讲述如何通过SpringBoot+Redis实现接口级别缓存信息 背景 近期因为一直在处理公司的老项目,恰好碰到产品说页面有一些信息展示慢,简单看了一下页面接口,发现查询的是系统中几张大表(数据量在千万级别),还会关联一些其他的表,导致接口性能极差,但是由于这些信息也不存在"及时性"这么一说 阅读全文
posted @ 2023-11-03 11:41 初夏的阳光丶 阅读(565) 评论(1) 推荐(2) 编辑
摘要: Java替换RequstBody和RequestParam参数的属性 本文主要讲解在Java环境中如何替换RequestBody和RequestParam参数中的属性 背景 近期由于接手的老项目中存在所有接口中新增一个加密串来给接口做一个加密效果(项目历史原因,不方便上Jwt授权这套),所以就研究了 阅读全文
posted @ 2023-10-24 16:47 初夏的阳光丶 阅读(598) 评论(0) 推荐(3) 编辑
摘要: 本文主要讲解如果通过注解实现对路由中的路径进行自定义编码 背景 近期由于项目中需要,所以需要通过Feign封装一个对Harbor操作的sdk信息。 在调用的过程中发现,当请求参数中带有"/"时,Feign默认会将"/"当成路径去解析,而不是当成完整的一个参数解析,实例如下 请求路径为:api/v2. 阅读全文
posted @ 2022-06-27 20:22 初夏的阳光丶 阅读(1091) 评论(0) 推荐(0) 编辑
摘要: 本文主要讲解NetCore如何使用中间件捕获模型绑定的异常信息 场景 在.NET Core 中请求中,如果参数的类型错误,我们在控制器中定义的方法是不会执行的,当我们需要捕获模型绑定的异常信息时,可以使用ApiBehaviorOptions.。接下来通过一个小demo给大家讲解一下用法 实现代码 p 阅读全文
posted @ 2021-12-27 22:50 初夏的阳光丶 阅读(867) 评论(6) 推荐(5) 编辑
摘要: 本文主要讲解使用ZipKin构建NetCore分布式链路跟踪 场景 因为最近公司业务量增加,而项目也需要增大部署数量,K8S中Pod基本都扩容了一倍,新增了若干物理机,部分物理机网络通信存在问题,导致部分请求打入有问题的物理机时总会出现超时的情况,由于之前系统中没有使用链路跟踪,导致排查问题比较慢, 阅读全文
posted @ 2021-09-18 09:34 初夏的阳光丶 阅读(634) 评论(1) 推荐(5) 编辑
摘要: 本文主要讲解.Net基于ReaderWriterLockSlim讲解读写锁 基础概念 读写锁是一个具有特殊用途的线程锁,适用于频繁读取且读取需要一定时间的场景,共享资源的读取操作通常是可以同时执行的, 普通的互斥锁不管是获取还是修改操作无法同时执行,如果多个线程为了读取操作而获取互斥锁,那么同一时间 阅读全文
posted @ 2021-09-17 20:18 初夏的阳光丶 阅读(647) 评论(0) 推荐(1) 编辑
摘要: 本文主要讲解.Net基于Semaphore带大家了解信号量 信号量举例 大家去银行去银行取钱,互斥锁管理的时一个柜台是否正在处理业务,而信号量管理的是整个柜台是否正在处理业务,每当有一个柜台处理完成之后,A大堂经理则进行叫号喊下一位进行处理业务,B大堂经理则对进来的客户进行接待,当柜台全部都在办理业 阅读全文
posted @ 2021-07-06 09:22 初夏的阳光丶 阅读(794) 评论(3) 推荐(3) 编辑
摘要: 本文主要讲解.Net基于Monitor.Enter和lock实现互斥锁 Monitor.Enter实现 相比前面的锁来说,混合锁的性能更高,任何引用类型的对象都可以做为锁对象,不需要事先创建指定类型的实例,并且设计的非托管的资源由.Net运行时自动释放,不需要手动调用释放函数,获取和释放混合锁需要使 阅读全文
posted @ 2021-06-22 22:34 初夏的阳光丶 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 本文主要讲解.Net基于Threading.Mutex实现互斥锁 基础互斥锁实现 基础概念:和自旋锁一样,操作系统提供的互斥锁内部有一个数值表示锁是否已经被获取,不同的是当获取锁失败的时候,它不会反复进行重试,而且让线程进入等待状态,并把线程对象添加到锁关联的队列中,另一个线程释放锁时会检查队列中是 阅读全文
posted @ 2021-06-16 23:07 初夏的阳光丶 阅读(1167) 评论(9) 推荐(5) 编辑