
技术分享
文章平均质量分 73
JavinLu
7年互联网后台开发经验,入职经历过神州租车、云集、阿里、顺丰等知名互联网厂家。做过租车系统、订制衣服app、商品特卖秒杀活动、拼团活动、专题CMS系统、消息管理中心、招商活动系统、警务处置中台、索引库es分布式集群系统、接口自动化配置接入系统等。
展开
-
SpringBoot 快速实现 api 接口加解密
该项目使用RSA加密方式对API接口返回的数据加密,让API数据更加安全。别人无法对提供的数据进行破解。Spring Boot接口加密,可以对返回值、参数值通过注解的方式自动加解密。首先我们当然是了解RSA加密RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。原创 2023-10-19 15:08:19 · 2445 阅读 · 0 评论 -
ES+Redis+MySQL设计高可用查询架构设计
一、背景会员系统是一种基础系统,跟公司所有业务线的下单主流程密切相关。如果会员系统出故障,会导致用户无法下单,影响范围是全公司所有业务线。所以,会员系统必须保证高性能、高可用,提供稳定、高效的基础服务。 随着同程和艺龙两家公司的合并,越来越多的系统需要打通同程APP、艺龙APP、同程微信小程序、艺龙微信小程序等多平台会员体系。例如微信小程序的交叉营销,用户买了一张火车票,此时想给他发酒店红包,这就需要查询该用户的统一会员关系。因为火车票用的是同程会员体系,酒店用的是艺龙会员体系,只有查到对应的原创 2023-02-25 22:13:00 · 526 阅读 · 1 评论 -
C盘池盘空间不足,该怎么处理。
Windows电脑操作系统一般是安装在磁盘驱动器的C盘中,一旦运行,便会产生许多垃圾文件,C盘空间在一定程度上都会越来越小。伴随着电脑工作的时间越久,C盘常常会提示显示其内存已不足。那么C盘容量不足对我们的电脑有什么影响?原创 2023-02-20 16:30:28 · 427 阅读 · 0 评论 -
一款Linux服务器、数据库、Redis、MongoDB统一管理平台,再也不用一台台记密码了。
基于DDD分层实现的web版 linux服务器(终端 文件 脚本 进程)、数据库(mysql postgres)、redis(单机 集群)、mongo统一管理操作平台。原创 2022-10-11 11:22:11 · 735 阅读 · 1 评论 -
关于Java组件fastjson存在反序列化漏洞
据国家网络与信息安全信息通报中心监测发现,阿里巴巴公司开源Java开发组件fastjson存在反序列化漏洞。fastjson被众多java软件作为组件集成,广泛存在于java应用的服务端代码中。攻击者可利用上述漏洞实施任意文件写入、服务端请求伪造等攻击行为,造成服务器权限被窃取、敏感信息泄漏等严重影响。此次事件影响fastjson1. 2. 80及之前所有版本。原创 2022-08-25 10:45:48 · 1603 阅读 · 0 评论 -
linux环境下 crontab+shell脚本定期自动删除文件问题
crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。原创 2022-06-27 10:05:08 · 1435 阅读 · 0 评论 -
2022年最新Java后端开发技术架构总结
https://www.processon.com/view/link/5fbf011c5653bb1d54fa30c8原创 2021-10-14 18:26:33 · 3783 阅读 · 4 评论 -
java中byte[]字节流解析成字符串中文乱码问题。
一、问题背景。 我们消费activityMQ消息。解析内容出现了乱码。用的是org.fusesource.mqtt.client.MQTT来接收消息。直接读取org.fusesource.mqtt.client.Future.await() 方法来获取Message。消息内容是存放在payload的流里面。我们是直接转为字符串的形式String msg = new String(message.getPayload());来解析。再转化为JSONObject数据。打印出来...原创 2021-05-12 10:37:33 · 11322 阅读 · 0 评论 -
使用jvisualvm工具进行OOM问题排查和调优。
1.业务场景介绍:使用Springboot项目进行activityMQ的接入。把消息分发到另外两个地方:rocketMQ和DataHub。实现数据的传输。并保证数据的一致性。2.问题介绍代码写完。运行后。发现没过多久项目就报错。java.lang.OutOfMemoryError: unable to create new native thread3.问题排查使用工具jvisualvm进行排查从上图可以看到问题有哪些?a.cpu占用比较高。一直不停的在使用cpu资源。4原创 2021-04-14 19:59:49 · 842 阅读 · 3 评论 -
sql语句常见异常问题解决方案。
sql语句 异常问题解决方案汇总mysql异常,以及对应的解决方案常见异常1:常见异常2:常见异常3:汇总mysql异常,以及对应的解决方案常见异常1:[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ----这种异常 不用多想,肯定是我们的sql语句出现问题原创 2021-02-19 11:05:23 · 6710 阅读 · 0 评论 -
eclipse安装lombok插件和使用简介
一、Mac版本1.下载 lombok.jar(https://projectlombok.org/download.html)2.将 lombok.jar 放在eclipse安装目录下,和 eclipse.ini 文件同级的。 这里需要注意,mac操作系统下eclipse的安装路径下有两个eclipse.ini,一个是/Applications/Eclipse.app/Contents/Eclipse/eclipse.ini,一个是/Applications/Eclipse.app/Contents/原创 2021-01-18 16:23:31 · 753 阅读 · 2 评论 -
mysql表名称区分大小写问题
1.启动服务报错2.登陆到mysql数据库查看。发现是存在的。3.执行sql确认下。是数据库表名区分大小写的问题。解决方案:1.用root登录,打开并修改 /etc/my.cnf;2.在[mysqld]节点下,加入一行: lower_case_table_names=1。3.重启mysql服务systemctl restart mysqld...原创 2020-12-03 11:43:52 · 183 阅读 · 0 评论 -
redis+lua实现高并发库存扣减和回流,超卖和少卖场景使用。
怎么保证执行的原子性?Redis使用同一个Lua解释器来执行所有命令,同时,Redis保证以一种原子性的方式来执行脚本:当lua脚本在执行的时候,不会有其他脚本和命令同时执行,这种语义类似于 MULTI/EXEC。从别的客户端的视角来看,一个lua脚本要么不可见,要么已经执行完。然而这也意味着,执行一个较慢的lua脚本是不建议的,由于脚本的开销非常低,构造一个快速执行的脚本并非难事。但是你要注意到,当你正在执行一个比较慢的脚本时,所以其他的客户端都无法执行命令。redis+lua实现高并发库存扣原创 2020-10-23 15:13:47 · 2845 阅读 · 0 评论 -
MQ消息队列是如何保证消息不丢失
1.mq原则数据不能多,也不能少,不能多是说消息不能重复消费,这个我们上一节已解决;不能少,就是说不能丢失数据。如果mq传递的是非常核心的消息,支撑核心的业务,那么这种场景是一定不能丢失数据的。2.丢失数据场景丢数据一般分为两种,一种是mq把消息丢了,一种就是消费时将消息丢了。下面从rabbitmq和kafka分别说一下,丢失数据的场景,(1)rabbitmqA:生产者弄丢了数据生产者将数据发送到rabbitmq的时候,可能在传输过程中因为网络等问题而将数据弄丢了。B:rabbitmq自己丢了原创 2020-09-23 10:23:21 · 3242 阅读 · 0 评论