
WEB
文章平均质量分 70
闲猫
大道至简
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
WEB限流
本文介绍了系统限流的应用场景、算法及实现方案。限流场景包括租户、用户、API和IP维度,可配置时间单位(如1秒或3秒累计)。主流算法有:1)计数器法(简单但存在边界问题);2)滑动窗口(通过时间戳统计,粒度越小控制越精确);3)漏桶算法(固定速率处理,可能造成延迟);4)令牌桶算法(允许突发流量,通过令牌控制)。拒绝策略包括直接丢弃或排队。实现方案推荐Google Guava的RateLimiter、Redis命令及阿里Sentinel。不同算法在精度、性能和突发处理上各有优劣,需根据场景选择。原创 2025-07-25 10:45:31 · 504 阅读 · 0 评论 -
WEB高可用容灾-两地三中心
本文介绍了容灾备份的概念差异与分类。容灾旨在保障系统连续性,备份则针对数据丢失问题。容灾系统分为三个级别:数据级(远程数据备份,应用中断)、应用级(同步应用系统,快速恢复)和业务级(全业务灾备,含非IT设施)。各级别在恢复时间、费用和实施难度上存在差异,企业可根据需求选择合适方案,以应对软硬件故障及自然灾害等风险,确保业务安全与连续性。原创 2025-07-25 10:43:48 · 299 阅读 · 0 评论 -
WEB弹性设计
本文探讨了云架构设计中的弹性扩展策略。首先建议从网络接入层开始规划,考虑使用EIP或固定公网IP,重点关注带宽限制。其次在负载均衡层,提出通过ALB/NLB实现流量分发。服务层弹性包括服务治理和容器化部署两种方案。数据库层建议采用主从架构实现读写分离和动态扩容。中间件层重点关注Redis、Kafka、ES等组件的弹性能力。文章强调实现自动化弹性需要建立完整的监控-分析-执行-管理闭环,并比较了阿里云各类网关产品的功能差异,包括SLB、NAT网关和API网关的不同应用场景。原创 2025-07-18 18:48:43 · 285 阅读 · 0 评论 -
WEB安全架构
本文系统介绍了网络安全防护体系,涵盖网络、应用、数据和运维四个维度。网络层面分为外部防护(WAF、DDoS防御)、内部隔离(VPC、安全组)和主机安全(漏洞扫描、容器防护);应用安全着重防范XSS、CSRF等常见漏洞;数据安全包括存储加密、传输加密和备份机制;运维安全强调堡垒机、VPN等管控措施。文章还提供了VPC子网划分的最佳实践,并详细解释了WAF、DDoS、ACL等专业术语,为构建全方位网络安全防护体系提供了实用指导。原创 2025-07-18 18:46:41 · 568 阅读 · 0 评论 -
【系统设计】 WEB网络安全
1.9.6 【单独同意】在隐私声明同意的基础上,如果涉及:敏感数据,数据出境,公开个人数据,使用人发生变化,目的发生变化都需要用户重新同意。2. SaaS类系统严格保证租户间的隔离,独立部署的网络不打通,共享的虚拟CPU,内存,磁盘等进行逻辑隔离。产品中恶意恶搞客户,比如:将关闭按钮搞的特别小,用户不小心就会打开很多页面,把自己搞的跟病毒一样。Java中推荐使用SecureRandom,禁止使用Random。1.8.9 【日志】需记录:时间,谁,浏览器&IP,对谁,干什么了,结果是啥。原创 2025-02-27 18:54:44 · 288 阅读 · 0 评论 -
慢SQL处理
数据量少于10W,再差劲的SQL也不慢,这就导致测试阶段不容易暴露问题,只有上线一段时间后才发现。解决慢SQL问题不仅仅是技术问题,是项目管理,架构,开发多方互动的过程。-- 如:某功能导致SQL影响核心交付功能,那么就直接中断功能,并给予用户提示和运维告警,即使予以干预。2. 做好降级准备:如果慢SQL影响核心功能,应主动断连,并做好客户端提示和后续运维。1. 在数据库侧查看慢SQL,并分析对应功能,有必要则进行人工干预。2. 针对出问题慢SQL功能,进行分析和重构,防止后续问题出现。原创 2024-07-17 11:56:08 · 195 阅读 · 0 评论 -
WEB日志框架综述
任何系统都需要记录日志,实现一个日志系统既要分析需要记录什么的日志,也需要考虑实现方式以及便捷性和扩展性。需要记录什么指的是日志内容。而一些现成的框架可以实现日志记录操作。现有大部分框架都是正对系统日志进行的,部分技术也会用在“用户操作日志”上,用来发掘用户的行为。现有的框架大部分记录的都是非结构的数据,这部分数据用来发现系统问题和挖掘用户行为是可以行的,但记录“业务操作日志”就显得有点任性。用于做构成记录日志代码包括:“提供一组日志接口”,“实际记录日志组件”,“日志的收集和分析框架”。原创 2022-08-19 20:13:35 · 1501 阅读 · 0 评论 -
基于junit,tesgng的测试框架设计(自动创建对象,AutoGc,junit,tesgng)
正真核心的逻辑只要就是提交一下,但这个逻辑会依赖其他逻辑。所以需要编写很多辅助逻辑,并在测试完成(成功或者失败)都需要清理生成的垃圾对象。springboot+junit:@SpringBootTest @BeforeAll,或者使用构造方法。编写测试用例会创建很多依赖对象,这些对象都需要在结束后回收,很容易遗漏,写起来工作量也挺大。junit+spring:配置注解类型的AOP即可。每个对象都实现一个create方法,并存储到缓存中。根据依赖创建对象的顺序栈,回收。示例:测试订单的提交方法。原创 2022-08-19 17:12:47 · 438 阅读 · 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 · 2615 阅读 · 0 评论 -
Dump文件生成,内容,以及分析
本文用到的工具只是简单介绍,让你有个感官认识,重点是核查思路的熟悉。原创 2022-08-08 11:58:04 · 12608 阅读 · 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 · 222 阅读 · 0 评论 -
JavaWeb在线问题.Linux服务器磁盘Disk核查
一般用了df命令后用du来判断某个目录下是不是有超大文件。这是面向文件的命令,只计算被文件占用的空间,不计算文件系统 metadata 占用的空间。显示指定的目录或文件所占用的磁盘空间。默认以磁盘块单位(一般是1024字节)为单位显示。TPS。.........原创 2022-08-07 11:18:19 · 310 阅读 · 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 · 363 阅读 · 0 评论 -
JavaWeb在线问题.Linux服务器CPU核查
系统访问慢,卡顿,超时时 就会想到是Linux CPU问题,但这可能是现象,而不是根本原因原创 2022-08-07 11:08:40 · 230 阅读 · 0 评论 -
JavaWeb在线问题.分析实例
日常解决线上问题原创 2022-08-07 11:03:47 · 369 阅读 · 0 评论 -
JavaWeb在线问题.系列博文入口
这种问题,快成八股文了,这类问题考察的是解决问题的思路,linux,jdk,以及其他检测和解决问题的工具。估计是个开发都解决过这类问题,可正真能有几人有机会接触到jvm,系统痛点的解决,且不说有没有能力,很少有这样的机会接触到,既然问道也不能说没接触过,那就得挑选一个有代表性问题拿出来说说。哪怕这个问题是网上copy来的。实际线上问题解决都是起于功能,可面试跟实际解决问题不同,他不愿意听你的逻辑分析,只想听听问题核查的那些技术和工具(这类问题越是小地方越严重)。系列博文包括:待补充.............原创 2022-08-07 10:28:01 · 165 阅读 · 0 评论 -
Spring.事务实现方式和源码分析
获取事务方法他会根据不同传播特性判断是否需要新建事务。开启新事务(调用的是子类DataSourceTransactionManager.doBegin方法)看到了吧,获取连接了。控制事务同步管理,记录一些事务特性使用的是TransactionSynchronizationManager类的静态方法操作。...原创 2022-07-28 09:47:14 · 774 阅读 · 0 评论 -
Sping.事务的传播特性
如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就以非事务执行。支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就抛出异常。创建新事务,无论当前存不存在事务,都创建新事务。以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。以非事务方式执行,如果当前存在事务,则抛出异常。如果当前存在事务,则在嵌套事务内执行。...原创 2022-07-28 09:40:52 · 130 阅读 · 0 评论 -
线程池.线程数量设置
需要设置线程数量地方tomcat,mysql,线程池问题到底设置多少现成量合适呢?答案不是臆测,根据数据说话。原创 2022-07-18 18:20:50 · 806 阅读 · 0 评论 -
网络OSI七层模型 - 这么讲
七层架构&四层架构:分层基于抽象和分类。问题想象 A ---- B 两人中间有一根导线,两端都有 发送高电压按钮和 电压压力表,现在你需要给他传送:Hello,怎么做,不要继续往下看,你自己想想。物理层首先两个人需要约定,高电位 电压;多长时间高电位是一个数字;多高的电压是数字几1V是1,2V是2;发送开始和结尾是啥。- 计算机中 只规定0,1 两个数字,有电就是1,没有点就是0 - 多长时间 需要看 硬件的要求,咱们这里比如1S - 实际电路中,传输0101..原创 2021-01-11 18:03:57 · 195 阅读 · 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 · 948 阅读 · 0 评论 -
Spring.动态数据源AbstractRoutingDataSource (分库组件,原理分析,源码,实现代码)
分析和设计如果需要动态数据源,实现一个DataSource代理,在获取Connection时做手脚。说明:一个请求进来,数据源对象不能变的,获取的Connection是每次都需要获取的。搞一个数据源代理对象,然后在getConnection方法返回不同数据源Connection。 AbstractRoutingDataSourceSpring提供的版本追getConnection方法:看看protected DataSource determineTargetDat...原创 2022-04-19 18:25:27 · 5003 阅读 · 0 评论 -
Mybatis.调用链路(源码:SqlSession-Executor-Transaction-DataSource-Connection)
Mybatis.调用链路(源码:SqlSession-Executor-Transaction-DataSource-Connection)原创 2022-04-19 18:16:23 · 681 阅读 · 0 评论 -
SpringCloud.Feign Hystrix
SpringCloud Feign Hystrix原创 2022-04-11 07:13:39 · 756 阅读 · 0 评论 -
SpringCloud.Zuul(GetWay)
SpringCloud Zuul GetWay原创 2022-04-11 07:13:53 · 234 阅读 · 0 评论 -
SpringCloud.Eureka
SpringCloud Eureka原创 2022-04-11 07:14:00 · 244 阅读 · 0 评论 -
SpringBoot.集成FastDFS
springboot fastdfs原创 2022-04-11 07:13:29 · 613 阅读 · 0 评论 -
SpringCloud.框架概述
SpringCloud原创 2022-04-11 07:15:07 · 401 阅读 · 0 评论 -
项目管理.系统从0到1
系统怎么完成 1.想法&调研 市场调研 可行性分析 竞品分析 2. 产品立项 产品经理到位 项目经理到位 立项 KickOff 3.团队建设 招聘 团队建设 团队激励 4.项目启动 开发方法的选择 软件架构选择 软件架构 技术选型 编码方法 原型法 非功能性需求 5.系统设计 结构化方法 面向对象 存储 内存 缓存 持久化 计算 数据结构 流计算 7.测试 发布 蓝绿部原创 2022-04-11 07:15:34 · 819 阅读 · 0 评论 -
中间件.FastDFS安装(Docker)
FastDFS Docker原创 2022-04-11 07:15:46 · 313 阅读 · 0 评论 -
中间件.Mycat 初体验(图解Schema配置)
Mycat原创 2022-04-11 07:14:46 · 312 阅读 · 0 评论 -
微服务.链路追踪.SkyWalking
微服务.链路追踪.SkyWalking原创 2022-04-10 07:54:30 · 130 阅读 · 0 评论 -
微服务.链路追踪.Glowroot
微服务.链路追踪.Glowroot原创 2022-04-10 07:54:52 · 1206 阅读 · 0 评论 -
微服务.链路追踪.Spring Cloud Sleuth
微服务.链路追踪.Spring Cloud Sleuth原创 2022-04-10 07:55:00 · 240 阅读 · 0 评论 -
微服务.链路追踪.OpenTracing
微服务 链路追踪 OpenTracing原创 2022-04-10 07:55:14 · 392 阅读 · 0 评论 -
微服务.链路追踪概述和方案 (Cat Zipkin Skywaking,Sluth等组件对比选型)
APM 应用性能监控原创 2022-04-10 07:55:25 · 2567 阅读 · 2 评论 -
Spring.@Import
Spring Import原创 2022-04-10 07:55:35 · 185 阅读 · 0 评论 -
Spring.容器生命周期
Spring bean生命周期原创 2022-04-09 16:04:03 · 1780 阅读 · 0 评论 -
Spring.注册Bean
java spring bean factory原创 2022-04-09 15:56:59 · 813 阅读 · 0 评论 -
Spring.IOC控制反转
Spring IOC控制反转原创 2022-04-09 15:50:04 · 355 阅读 · 0 评论