服务端
文章平均质量分 50
Spring全家桶、Redis、Kafka等
CarsonBigData
不积硅步,无以至千里。不积小流,无以成江海。
展开
-
如何实现MySQL对某一张表的binlog日志进行记录
在 MySQL 中,使用触发器(Triggers)来记录表的变更是一种常见的方法。接下来,需要创建触发器来监控表的变更并将变更记录到日志表中。• old_data:变更前的数据(适用于 UPDATE 和 DELETE)。• new_data:变更后的数据(适用于 INSERT 和 UPDATE)。:触发器会对表操作增加额外的开销,特别是在高频次的操作场景中,可能会影响性能。:触发器操作会在事务中执行,如果事务回滚,触发器的操作也会被回滚。:如果触发器未按预期工作,请检查触发器的定义以及表结构是否匹配。原创 2024-07-31 00:00:52 · 326 阅读 · 1 评论 -
如何实现PostgreSQL对某一张表的WAL日志进行记录
PostgreSQL 没有内置的 binlog(binary log)机制像 MySQL 那样。它使用 Write-Ahead Logging (WAL) 来记录数据库的变更。要将这些变更记录到某张表中,通常可以使用逻辑复制(Logical Replication)和触发器(Triggers)来实现。原创 2024-07-30 23:48:55 · 508 阅读 · 0 评论 -
关于allatori代码混淆技术的一次实践
allatori官方网站:https://allatori.com/proguard官网: https://www.guardsquare.com/proguard.原创 2023-10-13 14:38:48 · 2699 阅读 · 1 评论 -
JVM调优工具详解以及实战
事先启动一个web应用程序,用jps查看进程id,接着用各种jdk自带的命令优化应用。原创 2023-08-03 20:38:12 · 368 阅读 · 0 评论 -
关于@Autowired和@Resource使用的区别和遇到到的坑
@Autowired原创 2022-04-26 23:03:52 · 1034 阅读 · 0 评论 -
本地Docker 安装MySQL、Redis、MongoDB、PgSQL等
docker安装地址https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe启动docker desktop1、安装MySQL:# 拉取镜像docker pull mysql# 创建容器 docker run --name mysql -p 3306:3306 -v /mysql/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d原创 2021-12-02 14:12:58 · 202 阅读 · 0 评论 -
分布式事务
前言分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免,本文就围绕分布式事务各方面与大家进行介绍。1 事务1.1 什么是事务数据库事务(简称:事务,Transaction)是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务拥有以下四个特性,习惯上被称为ACID特性:**...原创 2019-10-29 11:13:39 · 174 阅读 · 0 评论 -
快速使用 Redisson 实现分布式锁
1、Maven依赖 <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.13.0</version> </dependency>2、application.yml添加配置# 分布式锁redis原创 2020-10-28 10:30:02 · 286 阅读 · 0 评论 -
k8s dashboard安装教程
https://lemonlzy.cn/2020/10/14/Helm%E9%83%A8%E7%BD%B2Dashboard-UI/原创 2021-07-27 13:34:02 · 222 阅读 · 0 评论 -
Redis Cluster集群 scan特定前缀的key 遇到的问题和解决方案
1原创 2021-04-27 14:43:47 · 1438 阅读 · 0 评论 -
判断Java对象及其所有属性值是否完全为空
Object obj1 = null;log.info(Objects.isNull(obj1));Object obj2 = new Object();log.info(Objects.isNull(obj2));第一个是true第二个是false因为Objects工具类的判空只是判断对象是否为空,而第二种对象是已经开辟了堆内存,而里面的属性都是空的,该方法无法识别,因此自己写了个方法优化工具方法:@Slf4jpublic class ObjectUtils { .原创 2021-04-07 15:10:19 · 7869 阅读 · 1 评论 -
手把手搭建k8s集群
集群机器配置主:2c4g Centos服务器从:2c4g Centos服务器一、安装Docker我们将使用 Docker 将应用打包成一个镜像,交给 Kubernetes 去部署在目标服务集群,所以第一步操作先安装docker1安装persistent-data 和 lvm2device-mapper-persistent-data是 Linux 下的一个存储驱动, Linux 上的高级存储技术。Lvm的作用则是创建逻辑磁盘分区。这里我们使用 CentOS 的 Yum 包管理...原创 2021-03-05 16:37:08 · 1040 阅读 · 2 评论 -
BigDecimal返回前端数据超过16位导致精度丢失,比如6916750604278803063 变成 6916750604278803000
由于JS最多支持16位的数字型数据,所以必须对返回数据进行处理。方法一:简单粗暴,强行转为字符串返回方法二:在JDBC返回的resultset进行处理package smartbix;import java.io.IOException;import java.io.Reader;import java.math.BigDecimal;import java.sql.Connection;import java.sql.Date;import java.sql.PreparedS原创 2021-01-20 10:49:09 · 1186 阅读 · 0 评论 -
jedis使用
一、Redis Client介绍1.1、简介Jedis Client是Redis官网推荐的一个面向java客户端,库文件实现了对各类API进行封装调用。Jedis源码工程地址:https://github.com/xetorthio/jedis1.2、使用Redis Client最好选用与服务端对应的版本,本例中使用Redis 2.8.19客户端使用jedis -2.6.3,Maven工程添加如下引用即可。 <dependency> <gro...原创 2021-01-19 15:08:13 · 569 阅读 · 0 评论 -
quartz定时器时间设置规则
单纯针对时间的设置规则org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运行时间,只需要设置其cronExpression属性。一个cronExpression表达式有至少6个(也可能是7个)由空格分隔的时间元素。从左至右,这些元素的定义如下:1.秒(0–59)2.分钟(0–59)3.小时(0–23)4.月份中的日期(1–31)5.月份(1–12或JAN–DEC)6.星期中的日期(1–7或S...原创 2021-01-19 15:04:44 · 1811 阅读 · 0 评论 -
Java垃圾回收机制
内存泄露:指该内存空间使用完毕后未回收,在不涉及复杂数据结构的一般情况下,java的内存泄露表现为一个内存对象的生命周期超出了程序需要它的时间长度,我们有是也将其称为“对象游离”。java语言规范没有明确的说明JVM使用哪种垃圾回收算法,但是任何一种垃圾回收算法一般要做两件基本事情:(1)发现无用的信息对象;(2)回收将无用对象占用的内存空间。使该空间可被程序再次使用。一.引用计数法(ReferenceCountingCollector)1.1算法分析引用计数是垃圾收...原创 2021-01-19 15:01:17 · 113 阅读 · 0 评论 -
记一次生产内存溢出OOM异常排错
1、需要准备好的辅助工具MAT内存分析工具:https://download.csdn.net/download/Carson073/13072826jvisualvm.exe:这个在jdk的里面有2、原创 2021-11-17 10:46:58 · 190 阅读 · 0 评论 -
记录Tomcat运行SSM项目坑爹经验 Maven
以下为tomcat的报错信息10-May-2020 14:35:35.492 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Cata原创 2020-05-10 15:22:54 · 265 阅读 · 0 评论 -
Docker部署Tomcat SSM WEB项目
1、将SSM项目打包成jar包具体可以参考:https://blog.csdn.net/lhp3000/article/details/78994010?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1&utm_source=distribute....原创 2020-05-12 12:29:03 · 745 阅读 · 0 评论 -
Windows Tomcat8.0 配置APR模式
一、安装apr支持:Native1、Tomcat安装时,勾选Native选项安装的,无须再单独下载native.dll2、单独下载安装native.dll,下载地址:http://tomcat.apache.org/download-native.cgi解压之后去找到tcnative-1.dll,根据系统,复制32位或64位tcnative-1.dll到$tomcat$/bin/下二、修改service.xml使用tomcat以apr方式运行找到下面代码<Connecto原创 2020-05-20 16:37:09 · 919 阅读 · 0 评论 -
Tomcat调优及JVM参数调优
1、Tomcat调优1.1 修改Tomcat Connecto的运行模式首先说明下tomcat connector运行的3中模式及区别:1)bio默认的模式,同步阻塞,性能非常低下,没有经过任何优化处理和支持.2)nio同步非阻塞,利用java的异步io护理技术,noblockingIO技术.想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol为protocol="org.apache.coyote.http11.Http11N..原创 2021-11-17 10:45:09 · 445 阅读 · 0 评论 -
坑:Maven引入父工程报错 Could not find artifact
Maven异常:Could not find artifact引入maven父工程的时候,如果不把父工程install到本地仓库,maven在本地仓库找不到就回去线上仓库拉取,然而线上仓库没有,就会一直报错,今日遇坑,以此为记!参考博客https://blog.csdn.net/nzm_java/article/details/52245706...原创 2020-05-26 11:15:13 · 6897 阅读 · 0 评论 -
推荐idea超级好用插件
1、Free Mybatis Plugin2、Lombok3、leetcode editor原创 2020-06-03 10:16:02 · 331 阅读 · 0 评论 -
Kafka实战——简单易懂的生产者消费者demo
单线程版本适合本地调试,多线程版本适合做压测。原创 2020-06-04 17:15:06 · 1394 阅读 · 0 评论 -
SpringMVC:带参请求或者Form表单请求参数校验(NotNull,NotEmtry)
1、编写校验工具类@Slf4jpublic class ParamVerifyUtils { private static volatile Validator validator; public static void verifyParams(BindingResult result) throws InvalidParamException { if (result.hasErrors()) { StringBuilder strin原创 2020-06-08 15:36:40 · 441 阅读 · 0 评论 -
CORS跨域导致swagger-ui.html 或者doc.html 无法显示问题
持续更新原创 2020-06-30 18:56:07 · 3115 阅读 · 0 评论 -
RestTemplate Https请求忽略SSL证书
@Configurationpublic class RestTemplateProxy { @Autowired private RestTemplate restTemplate; @Autowired @LoadBalanced private RestTemplate lbRestTemplate; @Autowired private AsyncRestTemplate asyncRestTemplate; @Autowi.原创 2020-07-24 11:10:47 · 7441 阅读 · 0 评论 -
记一次Kakfa消费者集群的生产事故
1、手动提交 会有分片问题原创 2020-08-11 10:40:21 · 356 阅读 · 0 评论 -
Kafka设定时段消费消息
Consumer类@Component@Slf4jpublic class KafkaConsumer { @Autowired private KafkaListenerEndpointRegistry registry; /** * 定时执行 * * @param recordList * @param acknowledgment */ @KafkaListener(id = "task1", topics原创 2020-08-19 15:01:38 · 1382 阅读 · 0 评论 -
坑:异步调用其他服务避免使用AsyncRestTemplate
现象订单服务的几个流程推动接口,出现了大量异常。持续20分钟。排查初步查看日志,发现这段时间有大量异常抛出,全部都是java.lang.IllegalStateException: No instances available for travel-push。如图:比较奇怪的是push全都是异步调用的。按理说不能影响到主流程才对。查代码发现,用的异步调用,是用的org.springframework.web.client.AsyncRest......原创 2020-08-21 14:52:17 · 2654 阅读 · 1 评论 -
坑:Mybatis-Plus 使用 @DS注解 做多数据源切换 mapper代理失败
Method threw 'java.lang.IllegalArgumentException' exception. Cannot evaluate com.sun.proxy.$Proxy原先的mapper:@DS("db3")public interface TestUserDriverManagementBizMapper extends BaseMapper<UserDriverManagement> { @Select("select * from use.原创 2020-09-27 16:53:42 · 16014 阅读 · 0 评论 -
Springboot简易集成MybatisPlus多数据源
1原创 2020-10-21 16:07:05 · 240 阅读 · 3 评论 -
Mybatis使用技巧
1、insert的时候返回主键<insert id="insertEssay" parameterType="com.po.Essay" >在上面的语句后加上:useGeneratedKeys="true"keyProperty="newsId" newsId为Essay类中的一个成员变量keyColumn="news_id" news_id为表中的主键名最后在...原创 2019-11-20 15:32:10 · 260 阅读 · 0 评论 -
深刻理解java类的加载以及ClassLoader源码分析
推荐这位博主写的文章,写的很不错!https://blog.csdn.net/qq_44543508/article/details/102983363#commentBox原创 2019-11-21 15:52:50 · 179 阅读 · 0 评论 -
JWT的原理及其数据结构
1. 摘要JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理,用法和详细的数据结构。2. JWT的定义Json web token(JWT)是为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC 7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登陆(SSO)场景。JWT的声明一般被用来在身份提供者和服务提...原创 2019-11-21 17:33:27 · 744 阅读 · 0 评论 -
Collections.singletonMap()用法
Collections.singletonMap()用于返回单集合具体用法: List<User> list = new ArrayList(); User user1 = User.builder().id("aaaaa").username("test1").build(); User user2 = User.builder...原创 2019-11-29 17:06:54 · 10188 阅读 · 0 评论 -
ELK架构原理分析
一、日志简介1.1 什么是日志日志是带时间戳的基于时间序列的机器数据,包括IT系统信息(服务器、网络设备、操作系统、应用软件)、物联网各种传感器信息。日志反映用户行为,是事实数据,也是系统运维、故障诊断、性能分析的重要来源。对于任何系统,日志都是极其重要的组成部分。1.2 日志处理的背景随着大数据时代的来临,系统日志量也呈指数级增加。伴随着日志格式复杂度的增加、规模的扩大以及应用节点的增多...原创 2019-11-29 17:30:21 · 923 阅读 · 0 评论 -
Swagger2 常用注解说明
整体说明用于controller类上 注解 说明 @Api 协议集描述 方法上 注解 说明 @ApiOperation - @ApiImplicitParams 方法上 @A...原创 2019-12-09 16:43:05 · 532 阅读 · 0 评论 -
Map转Object和List<Map> 转List Object
1、Map转Object例:import com.alibaba.fastjson.JSON;HashMap<String,String> map = new HashMap<>();map.put("username","test");map.put("password","test");User user = JSON.parseObject(J...原创 2019-12-11 17:06:16 · 2932 阅读 · 1 评论 -
秒转分钟工具方法
/** * 秒转分钟 * @param second * @param bitNum * @return */ public static Double second2Minute(BigDecimal second, int bitNum) { if (null != second) { ...原创 2020-01-07 18:04:43 · 789 阅读 · 0 评论