19 | 分布式环境下如何快速定位问题?
本文探讨了RPC在分布式环境下快速定位问题的难点与解决方案。由于服务间依赖复杂、跨团队协作成本高,传统日志排查效率低下。为此,提出两种方法:一是通过合理封装异常信息,包含明确的错误码、IP、接口名等关键数据;二是引入分布式链路跟踪,利用Trace和Span实现调用链路的完整还原,结合埋点与信息传递,精准定位故障节点,提升排查效率。
07 | 架构设计:设计一个灵活的 RPC 框架
本文深入讲解如何设计一个灵活的 RPC 框架,从基础通信原理出发,剖析传输、协议、服务发现、连接管理等核心模块,并提出分层架构与插件化设计思想,提升系统可扩展性与维护性,助力构建高性能、易演进的分布式服务架构。
02-Jenkins配置编译项目
本文介绍Jenkins配置编译项目流程:从GitLab拉取代码,使用Maven/Node编译,Docker打包镜像并推送到CCE仓库,通过kubectl更新云上服务。涵盖后台app-web、system-server模块及前端Vue项目的自动化构建与部署配置要点。
06 | RPC 实战:剖析 gRPC 源码,动手实现一个完整的 RPC
本文通过剖析 gRPC 源码,深入讲解 RPC 框架的实现原理。从 Protocol Buffer 接口定义到代码生成,结合 Netty 实现网络通信,详细解析请求的序列化、HTTP/2 帧传输、服务端解码与调用流程,帮助读者将序列化、协议设计等理论知识落地为实战代码,掌握构建高性能 RPC 的核心技术细节。
04 | 网络通信:RPC 框架在网络通信上更倾向于哪种网络 IO 模型?
本讲深入解析RPC框架的网络通信机制,重点探讨常用网络IO模型。由于RPC调用本质是服务消费者与提供者间的网络数据交换,其性能依赖高效的IO处理。常见的IO模型中,同步阻塞IO(BIO)简单直观但并发能力弱;IO多路复用则通过单线程管理多个连接,适合高并发场景,成为RPC框架首选。结合系统与语言支持,如Java Netty基于Reactor模式,广泛应用IO多路复用,并融合零拷贝技术提升性能。Netty的零拷贝不仅利用堆外内存减少数据拷贝,还通过CompositeByteBuf、slice等机制优化用户空间内存操作,有效解决拆包粘包问题。
06-nexus私仓环境搭建
本文介绍Nexus私有仓库环境搭建全过程,包括JDK安装、Nexus OSS版下载与解压、配置文件修改、创建nexus用户并启动服务。详细说明了如何通过Web界面登录、修改默认密码、配置匿名访问,并创建Maven私仓。同时提供上传本地jar包的两种方式,重点演示使用脚本批量导入本地仓库依赖的方法,包含清理无效文件、重命名元数据及执行上传命令等步骤,适用于企业内网构建Maven私服场景。
蓝易云:Java新手指南:如何在Spring MVC中处理请求参数
处理Spring MVC中的请求参数是通过控制器方法中的注解来完成的。这些注解包括 @RequestParam, @PathVariable, @ModelAttribute, @RequestBody, @RequestHeader, @Valid, 和 @RequestMapping。使用这些注解可以轻松从HTTP请求中提取所需信息,例如URL参数、表单数据或者JSON请求体,并将其转换成Java对象以供进一步处理。
整合SpringSecurity
本文介绍了Spring Security与Spring Boot的整合步骤:引入依赖、启动验证及登录测试。通过日志变化和自动跳转至login页面验证集成成功,使用默认用户名user和控制台生成的动态密码登录后,可访问受保护资源。完整代码见GitHub仓库Day01分支。
RememberMe简介及用法
RememberMe是Web应用中常见的“记住我”功能,通过服务端生成持久化令牌(Token)并存储于Cookie,实现用户关闭浏览器后仍保持登录状态。与直接保存用户名密码不同,该机制基于安全令牌验证身份,避免重复登录。Spring Security通过`rememberMe()`配置启用此功能,但需防范令牌泄露风险,可通过数据库持久化Token并结合二次校验提升安全性。