- 博客(16)
- 资源 (15)
- 收藏
- 关注
原创 百万 QPS 下的 Java 服务调优:JVM 参数、GC 策略与异步非阻塞编程
本文针对Java高并发场景,探讨如何实现单机百万级QPS支持。通过对比同步阻塞(Spring MVC)和异步非阻塞(WebFlux+Netty)两种实现方案,证明后者更适合高吞吐场景。重点介绍了JVM调优策略,推荐使用ZGC垃圾回收器配合32GB固定堆内存,实现亚毫秒级停顿。同时提供了操作系统内核参数优化建议和压测方法,最终在32核机器上实现58万QPS,p99延迟0.8ms。文章强调高QPS的关键在于异步非阻塞I/O模型、低延迟GC和精细化调优,并给出进阶优化方向,如无GC编程和CPU绑核技术。
2025-12-26 17:41:21
984
原创 Kubernetes + Helm + ArgoCD:打造 GitOps 驱动的 Java 应用交付流水线
本文介绍了一套基于GitOps理念的完整CI/CD实践方案,采用Kubernetes+Helm+ArgoCD技术栈实现Java应用从代码提交到自动上线的全流程自动化。方案采用双仓库模式分离应用代码和部署配置,通过GitHub Actions完成代码构建、镜像打包推送,并自动更新Helm Chart中的镜像版本。ArgoCD作为GitOps控制器持续监控配置仓库变化,将变更自动同步到Kubernetes集群。该架构实现了声明式部署、版本可控、审计追踪等优势,为云原生应用提供了高效可靠的持续交付解决方案。
2025-12-19 16:18:05
910
原创 Quarkus vs Spring Boot:谁更适合云原生时代的 Java 开发?
本文对比了云原生时代下两大Java框架Quarkus与Spring Boot的核心特性。Spring Boot凭借成熟生态仍是企业级开发首选,但其JVM模型在启动速度、内存占用等方面存在瓶颈。Quarkus通过编译时优化和GraalVM原生支持,实现毫秒级启动、超低内存消耗和小镜像体积,更适合Kubernetes和Serverless场景。测试数据显示,Quarkus原生模式的启动时间(28ms)和内存占用(38MB)显著优于Spring Boot(3200ms/420MB)。建议传统应用继续使用Sprin
2025-12-17 17:21:25
532
1
原创 告别传统部署:用 GraalVM Native Image 构建秒级启动的 Java 微服务
本文介绍了使用Spring Boot 3、GraalVM 23和Java 21构建原生镜像微服务的方法。原生镜像通过AOT编译将Java应用转换为平台原生可执行文件,显著提升启动速度(从秒级降至毫秒级)、降低内存占用(减少60-80%),并消除JIT预热问题。文章详细说明了环境准备、项目配置、代码示例、构建步骤以及性能对比(启动时间提速68倍,内存减少84%),并提供了Docker化部署方案。这种技术特别适合云原生场景,能有效解决传统JVM应用在容器化和Serverless环境中的性能瓶颈问题。
2025-12-16 16:41:18
941
原创 Spring Boot 3 + Java 21 全新特性实战:虚拟线程、结构化并发与 Record 类型
摘要:本文探讨了Java 21与Spring Boot 3.2+结合带来的现代开发优势,重点介绍了虚拟线程、结构化并发和Record类型三大特性。通过环境准备和项目初始化,展示了如何在Spring Boot中应用Record简化DTO和JPA查询。详细解析了虚拟线程的高并发优势及其在Web应用中的配置,对比了与传统线程模型的性能差异。最后介绍了结构化并发如何解决传统并发编程问题,强调其通过作用域管理提升代码安全性。这些特性共同助力构建高性能、可维护的现代Java应用。
2025-12-15 17:04:21
867
原创 Docker 搭建 MySQL 主从服务实战操作详解
本文详细介绍了如何使用Docker搭建MySQL主从复制环境。主要内容包括:创建自定义Docker网络,配置主从库的my.cnf文件,启动MySQL容器并设置固定IP,在主库创建复制专用账户,在从库配置主从关系并启动复制线程。文章还提供了验证方法和常见问题排查指南,特别强调了GTID模式的优势和配置要点。整个过程清晰易操作,适合需要实现MySQL高可用、读写分离或数据备份的开发人员参考。
2025-12-13 11:53:12
523
原创 ORA-12505, TNS:listener does not currently know of SID given in connect
ORA-12505, TNS:listener does not currently know of SID given in connect
2022-05-26 15:33:13
785
原创 CDH6.2.0安装教程
环境准备1. 编辑每台机器的hosts节点地址(所有节点)vi /etc/hosts 修改完后按ESC再输入 :wq! 退出编辑2. 关闭每台防火墙,禁止防火墙开机自启(所有节点)systemctl stop firewalldsystemctl disable firewalldvi /etc/selinux/config 将 SELINUX=disabled3.配置节点之间ssh无密码登录(所有节点)manager节点执行ssh-keygen -t rsa 一路回
2021-03-16 15:22:15
488
原创 JAVA 责任链模式实例
JAVA 责任链模式实例责任链定义责任链模式是一种设计模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。责任链使用场景责任链有很多的使用场景 但是最适合用的还是重构存在很多使用if-else判断逻辑的代码责任链模式分析及实现这里我使用集成支付场景进行说明首先先确定需求 需要通过传入的支付方
2020-05-19 16:47:47
1578
原创 单机环境安装Zookeeper+Hadoop+Hbase+Phoenix
单机环境安装Zookeeper+Hadoop+Hbase+Phoenix环境准备系统环境:Centos 7.6配置映射[root@ java]# vim /etc/hosts添加如下配置:# 文件末尾增加本机IP地址 hadoop001一.安装JDK 1.1 下载并解压...
2020-01-14 20:33:17
1204
原创 JAVA记录操作日志步骤
说明系统日志不论是在日常的管理还是维护中都会起到很大的作用,但是在日志的记录中通常会存在很多的问题日志记录的不规范性日志记录的重复性日志记录的难分类目前日志主要记录的有三方面请求的入参,出参关于业务上的操作异常日常日志的打印解决方案1.记录请求的出参入参记录出参入参这是日志记录最好操作的一部分,而这里会存在一定的重复性,因为每个请求都需要记录,这是重复操作,...
2019-08-06 14:01:55
33201
11
原创 RabbitMQ消息队列监控API
RabbitMQ消息队列监控API请求地址 http://ip:端口号/接口名称建议监控数据收集间隔为60秒一次HTTP API URLHTTP请求类型接口含义/api/connectionsGET获取当前RabbitMQ集群下所有打开的连接/api/nodesGET获取当前RabbitMQ集群下所有节点实例的状态信息/api/vhosts/{...
2019-08-06 14:00:42
6347
1
原创 SpringBoot2集成Quartz配置独立数据源
需求说明Quartz配置需要部署独立的表结构,但是经常存于业务表之间,有些时候可能需要与业务表分开配置,所以在此给Quartz配置独立的数据源一.版本介绍Springboot版本为2.1.6 多数据源配置使用druid进行配置,数据库使用的为Oracle11g,如果使用的是MySQL,直接将数据库的地址和驱动改一下即可 <parent> <gro...
2019-08-05 09:51:20
6785
1
原创 Centos搭建Jenkins环境
Centos搭建Jenkins环境说明Jenkins环境的搭建会有易于开发以及测试环境的快速构建,其中我刚开始尝试了使用Docker搭建Jenkins环境,但是因为刚接触Docker在使用过程中遇到了Docker重置的情况所以在此为了快速应用到实际项目中去使用普通的搭建Jenkins的方法环境Centos7版本JDK8Jenkins2.7.3版本安装步骤此处省略安装J...
2018-11-04 22:12:34
324
原创 iView Vue框架整合后台权限管理
iView Vue框架整合后台权限管理##首先下载的iView管理后台框架框架地址:HTTPS://github.com/iview/iview-admin 在webpack.dev.config.js配置proxyTable跨域代理,保证可以访问到后台接口模块中的app.js中的updateMenuList是加载整个目录的地方,在这里可以设置后台返回菜单列表然后放入的菜单列表在log...
2018-05-22 22:43:21
10954
原创 BeetlSql引入注意事项
1、springBoot中引入BeetlSql需要同时引入beetl的jar包否则会提示找不到dao层注入的类2、SpringBoot项目中不能使用IDEA自动生成的maven-plugin<build> <plugins> <plugin> <groupId>org.springframework.b...
2018-05-20 21:10:54
1750
2
手势互动3D立体圣诞树
2025-12-15
Nginx离线安装包--版本1.17
2022-07-03
apache-maven-3.5.4
2018-08-16
Linux运行jar包执行文件
2017-09-21
kitematic windows 安装包
2019-04-29
测试工具 Jmeter4.0版本
2018-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅