
WEB
文章平均质量分 70
闲猫
大道至简
展开
-
慢SQL处理
数据量少于10W,再差劲的SQL也不慢,这就导致测试阶段不容易暴露问题,只有上线一段时间后才发现。解决慢SQL问题不仅仅是技术问题,是项目管理,架构,开发多方互动的过程。-- 如:某功能导致SQL影响核心交付功能,那么就直接中断功能,并给予用户提示和运维告警,即使予以干预。2. 做好降级准备:如果慢SQL影响核心功能,应主动断连,并做好客户端提示和后续运维。1. 在数据库侧查看慢SQL,并分析对应功能,有必要则进行人工干预。2. 针对出问题慢SQL功能,进行分析和重构,防止后续问题出现。原创 2024-07-17 11:56:08 · 170 阅读 · 0 评论 -
WEB日志框架综述
任何系统都需要记录日志,实现一个日志系统既要分析需要记录什么的日志,也需要考虑实现方式以及便捷性和扩展性。需要记录什么指的是日志内容。而一些现成的框架可以实现日志记录操作。现有大部分框架都是正对系统日志进行的,部分技术也会用在“用户操作日志”上,用来发掘用户的行为。现有的框架大部分记录的都是非结构的数据,这部分数据用来发现系统问题和挖掘用户行为是可以行的,但记录“业务操作日志”就显得有点任性。用于做构成记录日志代码包括:“提供一组日志接口”,“实际记录日志组件”,“日志的收集和分析框架”。原创 2022-08-19 20:13:35 · 1428 阅读 · 0 评论 -
基于junit,tesgng的测试框架设计(自动创建对象,AutoGc,junit,tesgng)
正真核心的逻辑只要就是提交一下,但这个逻辑会依赖其他逻辑。所以需要编写很多辅助逻辑,并在测试完成(成功或者失败)都需要清理生成的垃圾对象。springboot+junit:@SpringBootTest @BeforeAll,或者使用构造方法。编写测试用例会创建很多依赖对象,这些对象都需要在结束后回收,很容易遗漏,写起来工作量也挺大。junit+spring:配置注解类型的AOP即可。每个对象都实现一个create方法,并存储到缓存中。根据依赖创建对象的顺序栈,回收。示例:测试订单的提交方法。原创 2022-08-19 17:12:47 · 395 阅读 · 0 评论 -
Jvm.分析工具(jconsole,jvisualvm,arthas,jprofiler,mat)
定位排查问题时最为常⽤命令包括:jps(进程)、jmap(内存)、jstack(线程)、jinfo(参数)等。jps:查询当前机器所有Java进程信息jmap:输出某个 Java 进程内存情况jstack:打印某个 Java 线程的线程栈信息jinfo:⽤于查看 jvm。......原创 2022-08-08 12:09:56 · 2504 阅读 · 0 评论 -
Dump文件生成,内容,以及分析
本文用到的工具只是简单介绍,让你有个感官认识,重点是核查思路的熟悉。原创 2022-08-08 11:58:04 · 12277 阅读 · 0 评论 -
JavaWeb在线问题.Linux服务器网络核查
netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。也可以,即:查询64221进程使用了的端口:常见参数-a (all)显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化成数字。...原创 2022-08-07 18:10:14 · 201 阅读 · 0 评论 -
JavaWeb在线问题.Linux服务器磁盘Disk核查
一般用了df命令后用du来判断某个目录下是不是有超大文件。这是面向文件的命令,只计算被文件占用的空间,不计算文件系统 metadata 占用的空间。显示指定的目录或文件所占用的磁盘空间。默认以磁盘块单位(一般是1024字节)为单位显示。TPS。.........原创 2022-08-07 11:18:19 · 291 阅读 · 2 评论 -
JavaWeb在线问题.Linux服务器MEM内存核查
内存是排查线上问题的重要参考依据,free 是显示的当前内存的使⽤,-h 表示⼈类可读性。注意:如果是线上环境,注意dump之前必须先将流量切走,否则大内存dump是直接卡死服务。buffers/buffer:被 buffer 和 cache 使⽤的物理内存⼤⼩。available: 还可以被应⽤程序使⽤的物理内存⼤⼩。查看Threads:38 total,线程数量。shared:被共享使⽤的物理内存⼤⼩。(按内存占用由大到小排序),输出。used:已经使⽤的内存数。free:空闲的内存数。...原创 2022-08-07 11:11:42 · 345 阅读 · 0 评论 -
JavaWeb在线问题.Linux服务器CPU核查
系统访问慢,卡顿,超时时 就会想到是Linux CPU问题,但这可能是现象,而不是根本原因原创 2022-08-07 11:08:40 · 213 阅读 · 0 评论 -
JavaWeb在线问题.分析实例
日常解决线上问题原创 2022-08-07 11:03:47 · 329 阅读 · 0 评论 -
JavaWeb在线问题.系列博文入口
这种问题,快成八股文了,这类问题考察的是解决问题的思路,linux,jdk,以及其他检测和解决问题的工具。估计是个开发都解决过这类问题,可正真能有几人有机会接触到jvm,系统痛点的解决,且不说有没有能力,很少有这样的机会接触到,既然问道也不能说没接触过,那就得挑选一个有代表性问题拿出来说说。哪怕这个问题是网上copy来的。实际线上问题解决都是起于功能,可面试跟实际解决问题不同,他不愿意听你的逻辑分析,只想听听问题核查的那些技术和工具(这类问题越是小地方越严重)。系列博文包括:待补充.............原创 2022-08-07 10:28:01 · 148 阅读 · 0 评论 -
Spring.事务实现方式和源码分析
获取事务方法他会根据不同传播特性判断是否需要新建事务。开启新事务(调用的是子类DataSourceTransactionManager.doBegin方法)看到了吧,获取连接了。控制事务同步管理,记录一些事务特性使用的是TransactionSynchronizationManager类的静态方法操作。...原创 2022-07-28 09:47:14 · 731 阅读 · 0 评论 -
Sping.事务的传播特性
如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就以非事务执行。支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就抛出异常。创建新事务,无论当前存不存在事务,都创建新事务。以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。以非事务方式执行,如果当前存在事务,则抛出异常。如果当前存在事务,则在嵌套事务内执行。...原创 2022-07-28 09:40:52 · 115 阅读 · 0 评论 -
线程池.线程数量设置
需要设置线程数量地方tomcat,mysql,线程池问题到底设置多少现成量合适呢?答案不是臆测,根据数据说话。原创 2022-07-18 18:20:50 · 780 阅读 · 0 评论 -
网络OSI七层模型 - 这么讲
七层架构&四层架构:分层基于抽象和分类。问题想象 A ---- B 两人中间有一根导线,两端都有 发送高电压按钮和 电压压力表,现在你需要给他传送:Hello,怎么做,不要继续往下看,你自己想想。物理层首先两个人需要约定,高电位 电压;多长时间高电位是一个数字;多高的电压是数字几1V是1,2V是2;发送开始和结尾是啥。- 计算机中 只规定0,1 两个数字,有电就是1,没有点就是0 - 多长时间 需要看 硬件的要求,咱们这里比如1S - 实际电路中,传输0101..原创 2021-01-11 18:03:57 · 183 阅读 · 0 评论 -
Flyway.API操作&源码分析
对象创建org.springframework.boot.autoconfigure.flyway.FlywayAutoConfigurationFlyway flyway = new SpringBootFlyway();flyway.setDataSource(javax.sql.DataSource);如果你配置就用配置的,如果没有配置则使用默认DataSource的。默认对象 当有spring.datasource 和 spring.flyway时,就创建F...原创 2022-04-19 18:30:56 · 917 阅读 · 0 评论 -
Spring.动态数据源AbstractRoutingDataSource (分库组件,原理分析,源码,实现代码)
分析和设计如果需要动态数据源,实现一个DataSource代理,在获取Connection时做手脚。说明:一个请求进来,数据源对象不能变的,获取的Connection是每次都需要获取的。搞一个数据源代理对象,然后在getConnection方法返回不同数据源Connection。 AbstractRoutingDataSourceSpring提供的版本追getConnection方法:看看protected DataSource determineTargetDat...原创 2022-04-19 18:25:27 · 4906 阅读 · 0 评论 -
Mybatis.调用链路(源码:SqlSession-Executor-Transaction-DataSource-Connection)
Mybatis.调用链路(源码:SqlSession-Executor-Transaction-DataSource-Connection)原创 2022-04-19 18:16:23 · 657 阅读 · 0 评论 -
SpringCloud.Feign Hystrix
SpringCloud Feign Hystrix原创 2022-04-11 07:13:39 · 714 阅读 · 0 评论 -
SpringCloud.Zuul(GetWay)
SpringCloud Zuul GetWay原创 2022-04-11 07:13:53 · 218 阅读 · 0 评论 -
SpringCloud.Eureka
SpringCloud Eureka原创 2022-04-11 07:14:00 · 223 阅读 · 0 评论 -
SpringBoot.集成FastDFS
springboot fastdfs原创 2022-04-11 07:13:29 · 588 阅读 · 0 评论 -
SpringCloud.框架概述
SpringCloud原创 2022-04-11 07:15:07 · 387 阅读 · 0 评论 -
项目管理.系统从0到1
系统怎么完成 1.想法&调研 市场调研 可行性分析 竞品分析 2. 产品立项 产品经理到位 项目经理到位 立项 KickOff 3.团队建设 招聘 团队建设 团队激励 4.项目启动 开发方法的选择 软件架构选择 软件架构 技术选型 编码方法 原型法 非功能性需求 5.系统设计 结构化方法 面向对象 存储 内存 缓存 持久化 计算 数据结构 流计算 7.测试 发布 蓝绿部原创 2022-04-11 07:15:34 · 795 阅读 · 0 评论 -
中间件.FastDFS安装(Docker)
FastDFS Docker原创 2022-04-11 07:15:46 · 295 阅读 · 0 评论 -
中间件.Mycat 初体验(图解Schema配置)
Mycat原创 2022-04-11 07:14:46 · 297 阅读 · 0 评论 -
微服务.链路追踪.SkyWalking
微服务.链路追踪.SkyWalking原创 2022-04-10 07:54:30 · 114 阅读 · 0 评论 -
微服务.链路追踪.Glowroot
微服务.链路追踪.Glowroot原创 2022-04-10 07:54:52 · 1165 阅读 · 0 评论 -
微服务.链路追踪.Spring Cloud Sleuth
微服务.链路追踪.Spring Cloud Sleuth原创 2022-04-10 07:55:00 · 222 阅读 · 0 评论 -
微服务.链路追踪.OpenTracing
微服务 链路追踪 OpenTracing原创 2022-04-10 07:55:14 · 358 阅读 · 0 评论 -
微服务.链路追踪概述和方案 (Cat Zipkin Skywaking,Sluth等组件对比选型)
APM 应用性能监控原创 2022-04-10 07:55:25 · 2500 阅读 · 2 评论 -
Spring.@Import
Spring Import原创 2022-04-10 07:55:35 · 155 阅读 · 0 评论 -
Spring.容器生命周期
Spring bean生命周期原创 2022-04-09 16:04:03 · 1727 阅读 · 0 评论 -
Spring.注册Bean
java spring bean factory原创 2022-04-09 15:56:59 · 780 阅读 · 0 评论 -
Spring.IOC控制反转
Spring IOC控制反转原创 2022-04-09 15:50:04 · 339 阅读 · 0 评论 -
Spring.通用条件类Condition
Spring.通用条件类Condition原创 2022-04-09 15:46:34 · 1439 阅读 · 0 评论 -
Spring.Bean的加载
Conditional @Conditional({WindowsCondition.class})@Conditional({MacCondition.class})原创 2022-04-09 15:34:43 · 276 阅读 · 0 评论 -
Redis简单说
redis,aof,rdb,master,cluster,slave,数据类型缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)分布式集群架构中的session分离。聊天室的在线好友列表。任务队列。(秒杀、抢购、12306等等)应用排行榜。网站访问统计。数据过期处理(可以精确到毫秒)原创 2022-04-09 07:50:00 · 148 阅读 · 0 评论 -
JavaWeb远程调试
远程调试CentosJDK工程启动配置IDE连接调试停止调试远程调试原理原理三种通信方式Debug参数第1种Socket Attach调试方法第2种Socket Listen调试方法第3种调试方法断点分类条件断点异常断点附录Tomcat远程调试配置1.7之后命令远程调试底层:JPDATcping ping端口工具内存和线程监控Linux后台启动jarIDEA远程调试原创 2022-04-09 07:50:11 · 892 阅读 · 0 评论 -
RocketMQ(一问搞懂MQ的各种应用场景)
架构图安装集成坑三种发送模式延迟消息去重幂等性拉取消息顺序消息事务消息广播消息原创 2022-04-08 16:41:01 · 1811 阅读 · 0 评论