🚀 优质资源分享 🚀
| 学习路线指引(点击解锁) | 知识定位 | 人群定位 |
|---|---|---|
| 🧡 Python实战微信订餐小程序 🧡 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
| 💛Python量化交易实战💛 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
原文首发:微信公众号,悟空聊架构,https://mp.weixin.qq.com/s/SDxH9k96aP5-X12yFtus0w
你好,我是悟空。
前言
最近在搭一个基础版的项目框架,基于 SpringCloud 微服务框架。
如果把 SpringCloud 这个框架当做 1,那么现在已经有的基础组件比如 swagger/logback 等等就是 0.5 ,然后我在这 1.5 基础上进行组装,完成一个微服务项目框架。
为什么要造二代轮子呢?市面上现成的项目框架不香吗?
因为项目组不允许用外部的现成框架,比如 Ruoyi。另外因为我们的项目需求具有自身的特色,技术选型也会选择我们自己熟悉的框架,所以自己来造二代轮子也是一个不错的选择。
核心功能
需要包含以下核心功能:
- 多个微服务模块拆分,抽取出一个 demo 微服务模块供扩展,已完成
- 提取核心框架模块,已完成
- 注册中心 Eureka,已完成
- 远程调用 OpenFeign,已完成
- 日志 logback,包含 traceId 跟踪,已完成
- Swagger API 文档,已完成
- 配置文件共享,已完成
- 日志检索,ELK Stack,已完成
- 自定义 Starter,待定
- 整合缓存 Redis,Redis 哨兵高

本文介绍了在微服务架构中如何解决日志追踪的问题。通过分析多条日志无法关联、跨服务日志关联、跨线程日志关联和第三方调用服务的追踪痛点,提出了使用 MDC 方案实现链路追踪。具体实现包括在 logback 中配置 %X{traceId},自定义拦截器获取并存储 traceId,以及在 OpenFeign 拦截器中传递 traceId 到跨服务调用。通过这种方式,可以实现全链路的 traceId 追踪,便于日志管理和调用链路分析。
最低0.47元/天 解锁文章
553

被折叠的 条评论
为什么被折叠?



