1. 业务背景 最近项目运行,发现某热点业务流程,频繁调用Mongo进行入库操作。此处已经成为性能瓶颈,需要对其进行优化。 因为入库数据主要是作为审计进行使用,对入库的时间实时性要求不高,且可以容忍在意外情况下丢失部分数据。 基于此点,设计使用内存阻塞队列存储Mongo入库请求(削峰填谷),然后使用
1. 需求背景 项目采用MyBatis-Plus作为ORM工具,近期需要对手机号,账户等敏感信息进行加密存储。 考虑到MyBatis提供了BaseTypeHandler,可以继承此对字段进行自定义操作,于是创建以下解决方案 2. 加解密Handler 因为加密的字段,在部分场景下还需要提取出来执行业
1. 现象 在Windows 10上通过npm安装pnpm(npm install -g pnpm),执行pnpm时出现如下错误(未对文件 C:\Users\***\AppData\Roaming\npm\pnpm.ps1 进行数字签名。无法在当前系统上运行该脚本): 2. 解决方案 需要更改Win
项目上接到临时需求,要求更改某项功能。更改提交变更到仓库后,又接到需求回退的消息,因此只能回退当前的提交,便于后续的开发工作。 备份当前分支,并推送备份分支至数据仓库后,执行如下命令进行回退操作: git revert HEAD 具体操作提示如下所示: 需要注意,敲入如上命令后,会弹出名为CMOMM
Ubuntu持久化设置DNS 1. 问题起因 更新VirtualBox中的Ubuntu 22.04虚拟机时,发现出现如下错误: 分析大概原因,可能是因为公司的DNS服务不稳定,因此尝试设置指定DNS服务解决。 2. DNS服务设置 网上大多设
1.安装 sudo apt install fail2ban # 设置开机启动 sudo systemctl enable fail2ban # 查看fail2ban状态 sudo systemctl status fail2ban 查看Fail2ban状态正常,则您的服务器已安装并运行Fail2B
1. 背景 项目上有些服务器是CentOS,使用firewalld作为防火墙。 经常需要对firewalld进行设置,故此记录一下。 2. 启动firewalld # 启动防火墙 systemctl start firewalld.service # 设置开机启动防火墙 systemctl enab