
后端
文章平均质量分 86
凉茶冰
我不想被后浪拍在沙滩上。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一种分布式事务解决方案记录
Mysql和Elasticsearch同时操作引起的分布式事务问题记录及解决。原创 2024-12-06 15:55:18 · 1055 阅读 · 0 评论 -
基于http请求的一种安全校验认证方案记录
所以,这里我们要对时间戳也加上校验,即一个时间戳有效期只能有一次,拦截器中会记录调用的时间戳,每次请求过来,会先判断时间戳是否已经存在,如果存在,直接判定请求失败,这就能将恶意模拟已请求的拦截住,除非模拟方清晰的知道加密规则以及对应分配给调用方的code和secret信息。② 外部应用配置表可以新增一个IP地址的字段,用于配置调用方的IP白名单,如果开启IP白名单校验了,可以先校验请求方的IP是否在配置的白名单中,如果不在可以直接过滤掉。这种方式也可以实现防火墙的效果,但是对防火墙是松耦合的。原创 2024-09-12 10:35:19 · 1279 阅读 · 0 评论 -
事务传播获取不到数据库连接的问题记录
对于这个问题,改造优化的方式有以下几种:① tomcat的最大工作线程数一定要小于连接池的最大连接数,即:server.tomcat.threads.max值要小于spring.datasource.druid.max-active。原创 2024-08-22 18:23:44 · 735 阅读 · 0 评论 -
DataX迁移数据到StarRocks大表报too many version问题记录
这里其实有一个实际实施时候的困难点,业务人员对数仓的特性不了解,了解数仓特性的技术人员对业务不了解,然后基于数仓又开发了更上层的数据中台等应用,让业务人员直接使用,这就造成实际实施的时候,很难讲数仓的威力发挥出来,因为业务人员没办法明确知道那些列或者那些字段作为分桶键效果更好。对于分区一般都有一个基本的认知,基于分区键,将数据进行不同分区的数据路由,分桶是SR独有的概念,在分区下面又有分桶,基于分桶再对数据做二次的分布,并提供副本机制。这样每天凌晨迁移数据的时候,都是只迁移增量的数据。原创 2024-08-06 18:03:43 · 1710 阅读 · 0 评论 -
C++请求SpringBoot的接口问题记录
c++通过http-postjson方式请求springboot接口,出参有1c8这样的特殊字符问题记录。原创 2023-02-14 15:39:30 · 924 阅读 · 1 评论 -
SpringBoot中关闭Mybatis以及RocketMQ日志打印
SpringBoot集成Mybatis以及rocketMq之后,屏蔽mybatis默认的Debug级别的sql日志打印以及RocketMq的WARN级别日志。原创 2022-11-16 15:50:34 · 3909 阅读 · 1 评论 -
从实际需求方案整理记录分布式锁的使用
分布式锁,顾名思义,就是解决分布式问题时候的锁。如果是单体应用,我们可以使用java的synchronize关键字。如果是分布式的话,synchronize就不行了。根据上面的安利,可以大概了解到,分布式锁要解决的问题,就是在分布式部署环境下,不同进程的不同线程在对相同资源进行请求的时候,需要考虑加锁。...原创 2022-08-29 16:42:55 · 414 阅读 · 0 评论 -
关于post请求formdata格式超长的问题记录
Springboot默认web容器是tomcat,tomcat关于post请求参数长度有默认限制为2MB,当请求的入参信息大于2MB的时候,会自动将参数封装到请求流中,而不是放到paramterMap中,而对于controller层,框架在进行参数自动转换的时候,是根据content-type到流或者paramterMap中取数据,当content-type是form-data的时候,肯定到paramterMap中取数据,但是因为数据过大放到inputStream中去了,所以获取不到参数。...原创 2022-08-08 09:47:18 · 5678 阅读 · 0 评论 -
关于log4j安全漏洞以及版本替换的记录
log4j的安全漏洞是大事件,早几个月项目上的都已经打完补丁,替换了包了。简单记录下日志这块的使用。目前jdk是java8及以上,要求log4j的版本必须是2.17.1。正常SpringBoot集成的时候,先在spring-boot-starter-web依赖中排除掉spring-boot-starter-logging的依赖,然后再引入spring-boot-starter-log4j2就能用了。但是这时候默认的log4j版本太低,我们需要自己引入所需要的版本,按照如上的方式引入即可。......原创 2022-07-28 15:46:31 · 4090 阅读 · 0 评论 -
Springboot项目通过filter修改接口的入参
在多个子工程的微服务开发的时候,后端通常情况下都是不止一个工程,前端深知也会不止一个工程,开发的团队也许也不止一个团队。这时候,在用户校验、权限控制、功能集成方面就会需要有一套架构方案来管控。在整体的架构方面有几个要求(1)根据业务需要独立拆分新建的子工程,只需要关注业务功能的代码开发即可,不需要再关注用户、角色、权限以及集成的问题;(2)子系统开发的时候,只需要引入pom依赖就可以非常方便获取用户信息以及对接口服务进行鉴权处理;...原创 2022-07-27 17:53:07 · 2233 阅读 · 0 评论 -
记一次线上接口慢查询问题排查
通过消息中间件解耦同步流程,提升接口的响应速度。原创 2022-05-31 10:04:49 · 1010 阅读 · 0 评论 -
Jena对本体、RDF三元组的API操作记录
通过JenaAPI实现对本体文件、RDF三元组.nt文件导入到TDB中,并且支持通过api的方式新增、删除、查询三元组数据。原创 2022-05-12 10:08:11 · 1360 阅读 · 0 评论 -
超过100w条数据表的分页查询优化
问题描述 最近做一个运营商的项目,其中有一个需求就是需要将用户所有的通话记录保存起来,支持按照各种条件查询。最开始开发阶段,使用的单表存储,后来根据调研,确定每天的通话量至少在100w通以上,那就只能进行分表存储,不然单表的数据量太大,后面的统计查询功能就没办法做了。按照天,每天一张表存储,但是即便这样,每天的数据量也在100w条上下,前端进行分页查询的时候,还是非常的慢,查询一次要7到8秒,这完全不能接受。 这是因为,目前的分页查询,使用的就是最基本的OFFSET的方式...原创 2022-02-09 23:25:46 · 3021 阅读 · 0 评论 -
灰度生产部署方案记录
灰度环境 什么是灰度环境?我们先看看百度上对于灰度发布的定义,如下: 灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。 灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期。...原创 2022-01-28 15:53:43 · 9091 阅读 · 2 评论 -
Java超长String处理遇到的一些问题记录
目录问题描述String类型拼接超长字符串截取超长字符串总结参考文献问题描述因为项目的需要,封装的SM4的加密、解密工具包,最近出了问题,客户反馈说现场有一个15M大小录音文件,在进行加密和解密的时候,方法没有反应,调用超时,失败了。按照最初封装时的考虑,没想过需要加密的入参字符串会有那么大,所以也没有考虑这种情况,今天拿到测试样例数据之后,通过读文件和写文件的方式进行了验证,最终发现并不是加密的算法有问题,也不是方法不能正常执行,而是整个过程中部分代码对String的处理效原创 2020-06-19 17:54:13 · 6263 阅读 · 4 评论 -
Java对接SM4加密过程中遇到的一些问题记录
场景需求因为项目性质的缘故,要求应用提供的服务必须满足SM4加密和解密。 即:请求的双方使用约定好的Key和通过SM4ECB进行加密和解密。在网上查一下SM4加密的话,有不少可参考的博文。这篇我试了下可以用,但是key是128位的,和我的预期有偏差。项目中需要进行对接的双方不全是通过java,服务提供方是php,php通过调用c编写的sm4加密方法进行加密和解密,java端对接php的接口,需要根据c编写的sm4工具类开发出对应的java包,方便第三方快速的调用。因为项目的缘故,不共享整个工具类,路过有原创 2020-06-15 15:11:03 · 11648 阅读 · 0 评论 -
tomcat/nginx开启Gzip压缩
目录1.前言2.关于gzip压缩3.开启压缩配置3.1 Vue中开启gzip压缩3.2 tomcat中开启gzip压缩3.3 nginx开启gzip压缩3.4 node服务器参考文献1.前言vue项目对应的单页应用在打包的时候,如果引入的第三方组件较多,会造成打包的生成的文件太大,一般情况下针对这种问题,比较常用的一种方法就是懒加载,配置路由的懒加载,只有在...原创 2019-11-15 10:37:23 · 1199 阅读 · 0 评论 -
Tomcat相关的安全扫描漏洞记录
目录1.SSLv3漏洞(CVE-2014-3566)2.检测到错误页面web应用服务器版本信息泄露3.点击劫持:X-Frame-Options未配置4.检测到目标服务器启用了OPTIONS方法参考文献1.SSLv3漏洞(CVE-2014-3566)备注:SSLv3漏洞(CVE-2014-3566),该漏洞贯穿于所有的SSLv3版本中,利用该漏洞,黑客可以通过中间人攻击...原创 2019-11-13 22:51:17 · 3069 阅读 · 0 评论 -
快速搭建基于Prometheus+Grafana的主机监控平台
目录Prometheus安装使用步骤Grafana安装和启动步骤Node_Exporter安装步骤prometheus配置Grafana配置参考文献Prometheus的node Exporter是专门用来监控Linux主机硬件使用的,配合Grafana可以展示非常强大的UI效果,对于监控非常有用,这里记录下如何快速搭建基于基于Prometheus+Graf...原创 2019-10-15 11:32:35 · 1482 阅读 · 0 评论 -
分布式事务框架TX-LCN使用记录
目录1 TX-LCN框架的基本思路2 遇到的问题记录2.1 事务提交/回滚失败,锁表问题2.2 事务补偿失败微服务架构不可避免的要解决分布式事务的问题,为了避免出现分布式事务,在进行微服务划分的时候,我们一般尽量保证业务操作独立,但是有时候分布式事务又是不可避免的。业界关于分布式事务的处理方案也有几种,网上搜到比较多的就是TX-LCN框架。官网:https://www.tx...原创 2019-10-14 11:40:45 · 1322 阅读 · 1 评论 -
记一次Idea中使用Maven遇到的异常问题
周末在家给电脑换装了固态硬盘,因为操作失误,把原硬盘的C盘格掉了,新系统装在固态中,但是老系统没了,无法新老公用。只能一条道走到黑,所有东西全部重装。这里重点记录一下Idea的安装一级在Idea中使用Maven遇到的问题,因为这俩问题真的是快把我逼疯了。Idea 2019.2的安装(1) 从官网下载2019.2版本,这里不啰嗦(2) 激活关于激活,网上有很多方案,...原创 2019-09-10 23:51:57 · 1068 阅读 · 1 评论 -
Grafana安装饼图插件
Grafana默认版本中没有饼图插件我们可以通过官网的链接,查看除了默认的plugins之外,还有那些,点击这里进入进入到官网的插件页面中,可以选择自己需要的插件,例如,我选择pieChart饼图插件,进入详情页面如下红框圈住的地方,就是安装的命令。除此之外,能看到右侧有“install Plugin”的按钮,这个是直接安装到自己申请的在线平台中去了,如果本地安装,还是需要...原创 2019-03-14 10:28:22 · 12758 阅读 · 0 评论 -
IDEA中maven报nexus-maven-repository-index.properties does not exist错误
File->setting->Build,Exceution,Deployment->Repositories,看到有Updated Error错误,如下图:而在使用maven的命令的时候一直报<parent>的错误。修改:找到自己的setting.xml,修改http://maven.aliyun.com/nexus/content/groups/...转载 2019-02-18 21:28:37 · 15768 阅读 · 6 评论 -
Win7下安装SVN服务端
目录背景svn安装包操作步骤1.创建仓库2.基础设置创建服务开放端口参考文献背景因为同事的苹果本无法修改mac地址连接内网,无论下驱动也好,命令方式也好,都无法修改mac,打客户电话,最后被告知这个最新型号的本就是不支持修改mac,死了心吧。迫不得已,想着干脆在无线局域网内搭建一套svn算了。svn安装包之前在linux上安装svn服务端,非常简...原创 2019-02-28 10:50:53 · 1476 阅读 · 3 评论 -
Springboot打包成war部署到tomcat中
基于SpringBoot的项目,可以直接运行main方法,在idea中进行调试开发非常方便,不用再新增tomcat服务,之前因为用惯了Jfinal以及SpringMVC框架,默认都是新增一个tomcat服务,选择项目,然后运行,所以下午手贱也尝试在基于maven的SpringBoot项目中添加tomcat服务调试运行,但是在网上查了好多资料,都没有看到有这方面的介绍,大多数都是如何打包成war然后...原创 2019-02-13 00:01:45 · 1137 阅读 · 0 评论 -
AJAX异步多文件上传
目录需求描述相关技术后台接口前端代码截图展示后台代码upload接口upload_mulite接口遇到的问题1.图片实时预览文件名问题2.ajaxfileUpLoad.js的onchange事件只响应一次延伸思考参考文献:需求描述想实现一个可以多选异步提交并实时预览照片的功能。就像发微信朋友圈那样,可以一次性选择多张图片,选择后的图片实时...原创 2019-02-11 13:53:40 · 4376 阅读 · 1 评论 -
Prometheus基于java开发exporter样例以及pushgateway的应用
目录 4种常用MetricsCounterGaugeHistogramSummary基于SpringBoot写一个简单的exporter_demo1.pom.xml配置如下2.Application类注解3.CounterDemo4.GaugeDemo5.HistogramDemo6.SummaryDemo7.关于pushgateway参...原创 2019-01-30 14:46:46 · 19990 阅读 · 7 评论 -
虚拟机安装CentOS7网络突然失效的问题记录
问题描述:本机安装了两台CentOS7的虚拟机,安装成功后,都设置为静态IP方式,设置好后,两台虚拟机都联网正常。把两台虚拟机挂起,过了一两天重新开启后,发现有一台竟然连不上网了。通过 ip addr查看,也查看不到设置的静态ip。通过执行以下命令即可搞定该问题:systemctl stop NetworkManagersystemctl disable NetworkM...原创 2019-01-14 10:16:57 · 519 阅读 · 1 评论 -
K8S安装mysql及远程连接
目录写在前面1.安装mysql2.登录mysql3.远程访问4.一些命令5.参考文献写在前面在整个安装过程中,遇到三个问题,分别如下:1) 在设置node节点上mysql的端口时候,如果端口太大,发现会报错,提示端口范围只允许在30000-32767之间,出现这个问题在于master的apiserver中KUBE_API_ARGS参数没设置,这个最好修改下,如下...原创 2019-01-11 17:48:54 · 15375 阅读 · 2 评论 -
SpringBoot通过cors处理跨域问题记录
目录关于跨域(1)简单请求(2)非简单请求SpringBoot中添加过滤器参考文献关于跨域在说SpringBoot的cors之前,我们先来记录下关于跨域的一些基本知识。首先,什么是跨域?所谓跨域,即:由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域!简单的理解,我请求A服务的页面,但是再页面中又有请求B服务的请求,...原创 2019-03-07 09:51:49 · 2030 阅读 · 0 评论 -
axios关于QS序列化的记录
目录axios中常规请求问题1问题2关于后台综上参考文献axios中常规请求如果手工全局指定Content-Type为application/x-ww-form-urlencoder,如下://post请求的Content-Typeaxios.defaults.headers.post['Content-Type'] = 'application/x-www...原创 2019-03-07 11:52:10 · 4441 阅读 · 0 评论 -
Nginx搭建负载均衡解决方案
目录1.安装nginx2.查看版本3.查看运行状态4.验证启动5.相关目录说明7.部署django服务9.遇到的错误记录参考文献Nginx非常好用,做静态文件解析、反向代理、负载均衡都非常的简单易用。今天记录下在ubuntu16.04上使用nginx给django项目搭建负载均衡的解决方案。1.安装nginx输入命令:apt install nginx...原创 2019-04-24 14:56:32 · 673 阅读 · 0 评论 -
SpringBoot开发记录
目录1.快速初始化2.pom.xml文件3.Mybatis自动生成代码3.1 新建generatorCOnfig文件3.2 pom.xml文件中添加插件3.3 开始生成3.4 使用4.查询样例4.1 普通单表操作4.2 自增主键表的操作4.3 联合查询4.4 分页查询5.关于事物5.1 关于@EnableTransactionManageme...原创 2019-04-22 21:52:44 · 814 阅读 · 1 评论 -
Ubuntu中Python2.7.12升级到Python3.6.6
目录1.Ubuntu的版本如下2.查询自带的默认Python版本3.升级到3.6.63.1 下载源tar包并解压3.2 安装3.3 关于yum关于apt3.4 软连接3.5 多版本4.Python官方在线的版本参考文献1.Ubuntu的版本如下2.查询自带的默认Python版本使用python -V命令查询当前python的版本,注意V是大...原创 2019-04-17 11:03:31 · 2093 阅读 · 0 评论 -
基于Crontab开机自启动并监控进程状态
目录1.需求描述2.监控脚本3.Crontab定时任务1.需求描述主机环境是Linux,发布的应用希望满足以下几个条件(1) 主机断电、重启时自动重启应用(2) 分钟级监控应用的运行状况,如果发现应用已经不存在,则自动启动进程。2.监控脚本#!/bin/sh# manage.py是进程名称,修改为自己的即可v_num=`ps -ef|grep "ma...原创 2019-04-11 09:02:39 · 1941 阅读 · 0 评论 -
Prometheus使用node_exporter监控主机内存显示无数据问题
从Prometheus官网下载最新的node_exporter在主机上部署,然后使用Grafana对主机资源界面化监控。从Grafana官网下载如下这个模版导入之后,会发现内存使用率一直显示 no data解决方案:编辑内存使用率的panel,修改查询为如下:(1 - (node_memory_MemFree_bytes{instance=~"$node"} / (...原创 2019-03-22 17:40:14 · 18009 阅读 · 8 评论 -
SpringBoot项目jar发布获取jar包所在目录路径
//第一种 File path = new File(ResourceUtils.getURL("classpath:").getPath()); if(!path.exists()) path = new File(""); System.out.println(path.getAbsolutePath()); /...原创 2019-03-13 10:01:00 · 39157 阅读 · 15 评论 -
理解 IntelliJ IDEA 的项目配置和Web部署
原文章出处:https://www.cnblogs.com/deng-cc/p/6416332.html目录1、项目配置的理解1.1 Project1.2 Modules1.2.1 增删子项目1.2.2 子项目配置1.2.3 增删框架(Web部署-1)1.3 Libraries1.4 Facets1.5 Artifacts(Web部署-2)2、参考链接...转载 2019-03-12 09:35:33 · 311 阅读 · 0 评论 -
Prometheus查询及接口服务
目录1.查询语句1.1 直接使用metrics的name进行查询1.2 使用标签查询2.使用记录2.1 查询语句有加上时间限制2.2 聚合分组查询2.3 对区间向量求聚合2.4 关于Prometheus的api3 其他3.1 采集到重复数据3.2 丢失更新数据3.3 时区问题参考文献1.查询语句1.1 直接使用metrics的name进行...原创 2019-03-15 09:50:42 · 28189 阅读 · 5 评论 -
VMware安装CentOS7+k8s过程记录
目录写在前面1.安装CentOS72.关闭SELinux 3.防火墙 4.yum源安装epel5.修改主机名6.安装k8s6.1 准备环境6.2 开始安装6.3 配置k8s的config6.4 配置master6.4.1 配置etcd 6.4.2 配置apiserver6.4.3 配置flannel...原创 2019-01-10 18:54:39 · 4280 阅读 · 0 评论