- 博客(18)
- 收藏
- 关注
原创 pmid转pmcid实践
指标优化前优化后提升倍数API批处理大小5个PMID200个PMID40x代码复杂度300+行150行50%减少错误处理能力手动验证自动检测质的提升并发处理单线程2线程2x高性能:通过API优化和批处理提升,实现了40倍的处理效率提升高可靠性:完善的错误处理和恢复机制,确保数据处理的完整性高可维护性:清晰的架构设计和代码结构,便于后续维护和扩展高可观测性:完整的监控和日志体系,支持实时运维管理。
2025-06-05 16:40:41
789
原创 ES学习笔记 <一>
这里贴上我的docker-compose配置,但是要注意,这个配置并不能直接run起来,有两个点要注意。2.yml文件的映射,首先需要你删掉这一行,然后启动docker-compose up -d启动es。因为我现在用的还是测试功能,所以关闭了https和账号,后续需要安装正式用版本的时候再来倒腾这些东西。1. 首先是这个ik的分词器,需要我们在/plugins/ik这个目录下完成下载。我们可以看到映射目录已经生成,但是yml文件是一个目录,用rm -rf 删除以后。即可将原先的yml文件复制出来。
2025-05-12 14:53:15
246
原创 <五> k8s + promtail + loki + grafana初探
昨天刚说不准备继续跟进promtail了,但是后来我想到了一个新的方向其实我之前一直卡在了正则匹配这方面,我现在只剩最后一个角度了其实gpt一直说,promtail的json方法是可以处理带转义的数据的那是否有可能是因为我的日志数据里的末尾\n换行符导致了json解析失败呢?这也是我最后的尝试了。
2025-05-08 11:42:21
811
原创 <三> k8s + promtail + loki + grafana初探
其实按照go的语言规则,应该是可以匹配上input里的内容的,但是并没有匹配上,也影响到了后买你的json匹配,因此到这里,我也就无法再推进日志的解析了。到目前为止,已经可以开始调试自己的yaml配置,编写pipeline来尝试进行一些输出了。而单纯的带转义的原始log数据其实在大数据量场景下并没有太多的参考价值。
2025-05-08 11:28:00
279
原创 <四> k8s + promtail + loki + grafana初探
今天有了一个新的思路,我现在主要是卡在了promtail采集的是cri日志这一环节那我有没有可能让promtail直接采集容器日志呢,有我可以将容器日志挂载到hostpath下,然后让promtail直接去读取服务日志作为输入就可以跳过cri日志的问题了,我们开始吧。
2025-05-07 18:05:24
252
原创 <二> k8s + promtail + loki + grafana初探
在处理promtail的时候,还有一个很痛苦的点就是我怎么去替换这个promtail-config.yaml呢因为是通过helm安装的,很多内容是写死在chart里,如果后面再通过helm来重置了安装,直接修改的配置就会被复原目前我还没有找到如何去在helm这层更新配置,如果有大神知道可以补充我目前给的方案是: 替换secret。
2025-05-07 14:51:49
345
原创 <一> k8s + promtail + loki + grafana初探
近期完成了服务的集群化,然后花了很多天专注于集群日志的处理我们目前使用的架构是promtail + loki + grafana我简单介绍一下,promtail类似于fluentd和logstash,主要用于日志的采集然后是loki,类似于es,用于存储采集后的日志信息然后grafana就是做这些信息的可视化这套架构的优点在于所有组件都是grafana发布支持的,不仅轻量而且天生适配集群且通过helm可以非常轻松的完成安装适配,故事就从这里面开始了。
2025-05-07 13:56:16
813
原创 <后端日记> mybatis-plus日志输出
然而mybatis的这部分日志输出没有按照统一的pattern来,导致有很多日志被处理成了多行,会影响到日志的采集,类似这种。主要是因为我们的additivity设置了true,会导致继承了root以后,打印了两次,改为false即可。到这里相信小伙伴们明白了,对于不同的日志impl,底层其实会走不同的处理handler。经过这一阵的工作,已经把项目的基础设置完成的差不多了,接下来就是做集群的日志管理了。需要修改日志的初衷在于,我们要做集群日志,需要统一日志的pattern。
2025-04-28 19:46:26
866
原创 运维笔记<4> xxl-job打通
新的一天,来点新的运维业务,今天是xxl-job的打通其实在非集群中,xxl-job的使用相对是比较简单的,相信很多人都有使用的经验这次我们的业务场景是在k8s集群中,用xxl-job来做定时调度加上第一次倒腾,也是遇到了不少问题,在这里做一些记录。
2025-04-24 16:43:47
928
原创 运维笔记<3> jenkins流水线打通
5. 重要要说说的是重启k8s这点,其实大部分时候,当我们写到脚本这步的时候已经完成了大部分配置,如果你的jenkins是通过systemctl部署的,就少了很多烦恼。但是如果你跟我一样,也是通过docker容器部署,又不太清楚-v映射,就会发现这时候要再使用稳定的kubectl会比较麻烦,我先后尝试了多个办法。也许你会有疑问,我在jenkins里面执行docker run -v,那挂载的是容器内的目录还是宿主机的目录呢,实测结果,最后挂载的是宿主机目录。
2025-04-21 16:53:34
584
原创 线程莫名终止
-----------------------------分割线----------------------------3.16.X版本的redisson使用的spring-data-redis里,是不包含stream操作相关方法的。----------------------------分割线------------------------但是有个潜在的问题就是,如果说redis里的key超时了,但这之前没有主动释放锁。所以使用的方案是,强制覆盖了redis的连接池,使用原生的lettuce连接池。
2025-02-27 19:14:04
471
原创 记一次生产发版2
服务在到达max-lifetime的超时时间以后,在销毁连接的同时还会建立新的连接,确保链接数一直不少于minimum-idle。这里说说之前的mysql版本问题,其实很大概率并不是版本问题,而是运维在复制虚拟机时,使用的源虚拟机的配置问题。了解了这里,就知道了,因为我们的sso设置了minimum-idle为100,导致mysql连接被打满。服务刚刚上线,就出现了too many connections问题,mysql连接池被打满了!发现已经有60+链接数了(其实当时是120,这里已经是优化后的配置了)
2025-01-23 17:15:09
418
原创 记一次生产发版
但是我们在部署的时候,后端服务成功启动了并连接了mysql,但是SSO服务却一直无法连接mysql,报错连接超时。由于之前沟通是准备用k8s集群,所以在前期各种包的准备上都是基于k8s,且使用了ingress作为网关。首先想到的是网络问题,因此这里我们使用了--network host模式,使用了宿主机网络。但是解决这个问题以后,发现后端连上了mysql,但是SSO模块依然连不上mysql。但是由于网络问题,K8S集群的离线部署一直不通,也带来了后续的一系列问题。现在变成了内网->外网代理-x>内网。
2025-01-18 17:35:40
381
原创 Maven学习日记
4.如果到这里依然无法解决,还有一个办法,你可以尝试换个maven版本,在这次定位过程中曾出现过只是换了一个maven版本,原来的classNotFound就再也没出现的情况。我们可以在安装完maven,并将maven bin文件夹配置到PATH以后,在项目中执行maven dependency:tree 来打印依赖数,从而发现是否存在依赖版本冲突的问题。即到自己的maven依赖下载路径(一般是.m2文件夹),将之前有问题的依赖版本删除,重新拉取依赖。3.还有一些情况,是因为存在依赖问题导致的。
2024-10-20 21:23:21
175
原创 Maven学习日记
4.如果到这里依然无法解决,还有一个办法,你可以尝试换个maven版本,在这次定位过程中曾出现过只是换了一个maven版本,原来的classNotFound就再也没出现的情况。我们可以在安装完maven,并将maven bin文件夹配置到PATH以后,在项目中执行maven dependency:tree 来打印依赖数,从而发现是否存在依赖版本冲突的问题。即到自己的maven依赖下载路径(一般是.m2文件夹),将之前有问题的依赖版本删除,重新拉取依赖。3.还有一些情况,是因为存在依赖问题导致的。
2024-10-20 21:22:18
188
原创 Mybatis-plus学习笔记
只需要在id上设置type 为ASSIGN_ID,框架在执行sql的时候,Mybatis-plus框架自带雪花算法生成器。
2024-10-12 16:48:12
100
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人