自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 DevOps 从成神之路 - 第 3 天:持续集成 (CI)

本文介绍了持续集成(CI)在DevOps中的重要性及其实现方法。CI通过自动化构建、测试和部署流程,帮助团队更高效地协作,及早发现问题。文章以移动购物应用为例,详细说明了使用Jenkins和GitLab CI/CD设置CI管道的步骤,包括代码管理、构建测试和部署过程。通过自动化CI流程,团队可以节省时间、保持一致性、提高软件质量并加速功能发布。本文为开发者提供了实用的CI实施指南,为后续学习配置管理打下基础。

2025-09-21 09:47:11 91

原创 DevOps 从成神之路— 第 2 天:版本控制系统 — VCS

本文介绍了Git版本控制系统在DevOps中的重要性及应用指南。主要内容包括:1. Git的核心功能与优势,如分布式版本控制、分支管理;2. 创建Git仓库和分支管理的具体操作示例;3. 常见的分支策略(功能分支、GitFlow、发布分支等)及其适用场景;4. 相关面试问题集锦。文章强调Git作为团队协作工具的价值,帮助开发者高效管理代码变更,实现持续集成和部署。

2025-09-21 09:34:06 55

原创 DevOps-成神之路,第一天:DevOps 简介

《DevOps基础与实践》摘要 本文介绍了DevOps的核心概念与实践价值。DevOps旨在打破开发(Dev)与运维(Ops)间的壁垒,通过文化变革、团队协作和自动化工具实现持续集成/交付。其核心原则包括:打破部门隔阂、自动化构建/测试/部署流程、基础设施即代码等。实施DevOps能显著提升软件交付速度,改善团队协作,增强系统稳定性,并通过自动化释放人力价值。文章还提出了评估DevOps成效的关键指标,以及推动组织转型的建议,为后续学习版本控制系统(VCS)奠定了基础。

2025-09-21 09:27:51 88

原创 Spring Boot 的执行器注解:@Endpoint、@ReadOperation 等

本文介绍了Spring Boot Actuator的核心功能及其自定义端点开发方法。通过@Endpoint、@ReadOperation、@WriteOperation和@DeleteOperation注解,开发者可以轻松创建监控和管理应用程序的端点。文章详细讲解了如何添加Actuator依赖、创建自定义端点类、定义操作方法和配置安全性,并提供了一个统计活跃用户数量的实现示例。这些功能使应用程序具备生产级监控能力,无需大量定制代码即可实现健康检查、指标收集等功能,是提升应用可维护性的重要工具。

2025-09-20 10:27:42 765

原创 使用 @Transactional 控制事务边界:传播和隔离解释

当我们谈论事务管理时,传播决定了事务的“边界”或“生命周期”,而隔离则定义了事务操作对其他并发事务的“可见性”。当调用带注解的方法时,Spring会动态创建一个代理,根据该方法的执行来处理事务的创建、提交和回滚。使用数据库时,尤其是在多个事务同时运行的系统中,由于多个事务操作访问同一组数据,数据完整性可能会面临风险。隔离级别确定一个事务中的操作与其他并发事务中的操作隔离的程度。例如,您可能希望一个方法始终在其事务中执行(使用REQUIRES_NEW),但根据所涉及的业务逻辑具有不同的隔离级别。

2025-09-20 10:25:46 575

原创 如何用Spring AI开发一个支持Text-To-SQL的MCP

本文介绍了MCP架构中客户端和服务端的核心功能与开发实践。MCP客户端支持多种通信协议和传输方式,能自动匹配服务器版本并管理资源;MCP服务器则负责处理请求、提供工具支持及多客户端连接。文章详细说明了SpringAI集成MCP的方法,包括客户端和服务端启动器的配置,以及通过@Tool注解快速实现业务能力映射。实践部分展示了完整的开发流程:从创建mcpserver工程、实现接口、注册MCP工具到客户端集成,最后还介绍了基于SSE的部署方案。该项目代码已开源,可上传至MCP广场供社区使用。

2025-09-19 08:45:29 1804

原创 深度解析三大AI协议:MCP、ACP与A2A,看懂智能代理的通信法则

AI代理三大核心协议对比解析 MCP、ACP和A2A是当前AI代理生态的三大关键协议。MCP(模型上下文协议)由Anthropic推出,为LLM提供标准化信息接口,实现企业数据的安全高效调用;ACP(代理通信协议)面向边缘计算,采用去中心化设计,支持设备间毫秒级协作;A2A(代理对代理协议)则是Google提出的跨平台通信标准,通过代理卡片实现不同系统间的能力互认。三者各司其职:MCP专注模型与外部数据交互,ACP优化本地设备协作,A2A打通跨平台生态。未来或将出现统一中间件,使开发者无需关注底层协议差异,

2025-09-19 08:42:20 310

原创 日志收集和Spring 微服务监控的最佳实践

本文介绍了Spring微服务架构中日志记录和监控的最佳实践。主要内容包括:1. 阐述日志记录和监控在微服务中的重要性,涉及问题诊断、性能监控、安全审计等方面;2. 详细说明Spring微服务的日志收集策略,包括日志级别选择、结构化日志、集中式记录等;3. 讲解监控Spring微服务的方法,如使用Spring Boot Actuator、分布式跟踪工具和指标收集系统;4. 推荐实用的工具和库,如Logback、ELK堆栈、Prometheus和Grafana等。通过实施这些最佳实践,可以显著提升微服务系统的可

2025-09-18 09:47:08 732

原创 使用 @HealthEndpoint 在 Spring Boot 中实现自定义健康检查

虽然 Spring Boot 的 Actuator 模块提供了丰富的开箱即用的健康检查功能,但在某些情况下,默认检查可能不够。如果您是从头开始,最简单的启动和运行方法是使用Spring Initializr,这是一个基于 Web 的工具,可以根据您的规范生成 Spring Boot 项目。在微服务和分布式系统的世界中,监视和快速诊断应用程序中的问题的能力变得至关重要。此类特定于业务的要求可以转化为自定义运行状况检查,不仅提供应用程序操作的实时脉搏,还提供其完成业务任务的能力的实时脉搏。

2025-09-18 09:43:49 782

原创 ShardingSphere实战分表分库

ShardingSphere是一套开源的分布式数据库中间件生态,包含Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar三款产品,支持数据分片、分布式事务和数据库治理。文章重点介绍了其分库分表策略,包括垂直拆分(按业务功能分库)和水平拆分(单表数据量过大时分表),并对比了基于服务端的Mycat和基于客户端的Sharding-JDBC的特点。此外,详细讲解了MySQL主从集群环境的搭建配置过程,以及SpringBoot整合Sharding-JDBC实现读写分离和分库分表的

2025-09-17 20:07:09 729

原创 阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~

阿里开源的JManus是基于SpringAIAlibaba的Java版OpenManus框架,支持多Agent协作、PLAN-ACT模式及MCP协议,可集成云端/本地大模型。提供Docker和源码两种部署方式,支持持久化数据存储。其核心通过LLM实现智能体的规划-执行-总结流程,但尚存Azure OpenAI兼容性问题。该框架适合构建复杂AI应用,开发者可参与PR贡献完善功能。

2025-09-17 19:57:23 2817

原创 终于可以解放双手了,使用Jenkins、ArgoCD 部署 Java 应用程序,最终部署在 Kubernetes 集群上

本文详细介绍了Jenkins、Sonarqube和Jfrog-Artifactory服务器的配置与集成过程。首先在EC2实例上安装Jenkins,配置必要插件;然后设置Sonarqube进行代码分析,并生成令牌实现与Jenkins的集成;接着安装Jfrog-Artifactory用于工件存储,创建Maven仓库并生成访问令牌;最后在本地部署Minikube和ArgoCD,实现Kubernetes集群的自动化部署。整个过程包括服务器配置、工具安装、凭证管理和错误排查,最终成功构建了从代码分析到自动化部署的完整

2025-09-13 22:01:35 523

原创 将 Spring 的 @Embedded 和 @Embeddable 注解与 JPA 结合使用的指南

在基于 Java 的应用程序开发领域,Spring 框架和 JPA(Java Persistence API)这两个工具彻底改变了开发人员处理持久数据的方式。@Entity通过诸如、@Table等注释,JPA 提供了对传统关系数据库操作的抽象。在这些注释中,@Embedded和@Embeddable对于在实体中嵌入对象特别有用。本指南探讨了这些注释的本质和用例。

2023-09-23 13:38:00 767 1

原创 Springboot使用 @PostConstruct 和 @PreDestroy 了解 Bean 的生命周期

使用Java配置定义bean时,可以在注释中指定自定义initMethod和destroyMethod属性@Bean。// 初始化逻辑// 清理逻辑这种方法在配置中提供了关于哪些方法用于初始化和销毁的明确声明,从而在声明性配置和编程控制之间提供了平衡。XML配置在广泛采用注释之前,基于 XML 的配置是定义 bean 及其生命周期方法的首选方法。-- 对应的Bean类 -->// 初始化逻辑// 清理逻辑。

2023-09-16 12:54:31 1465 1

原创 基于docker+Grafana+loki搭建监控系统&日志收集

Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation), 将Prometheus纳入其下第二大开源项目。Prometheus目前在开源社区相当活跃。

2023-06-20 13:21:22 528 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除