微服务架构落地:公共中间件层总览——不承载业务,只承载稳定性

大宗商品销采运储系统・六层架构连载(公共中间件层)

前面我们完成了基础服务层全系列的拆解,包含用户服务、日志服务、接口服务、调度服务、报表服务。

基础服务层为上层业务提供通用业务能力,而支撑所有基础服务、业务服务稳定运行的底层底座,就是公共中间件层。

在微服务落地过程中,很多团队会把中间件能力简单当成"组件直接拿来用",缺少统一规划。随着销采运储业务单据量持续上涨,会出现服务注册异常、配置管理混乱、消息堆积、缓存雪崩、故障难以定位等一系列分布式问题。

从本篇开始,开启公共中间件层连载。本篇先讲清楚三件事:

  1. 公共中间件层的定位与边界;

  2. 整套系统中间件全景架构;

  3. 五大体系拆解与选型原则。

一句话定调:

公共中间件层不承载业务,只承载稳定性、性能、通信、观测、分布式能力。


一、公共中间件层在六层架构中的定位

先回顾整套销采运储六层架构:

复制代码
展示层  → 统一网关(鉴权/路由)  → 业务服务层(采购/销售/仓储/运输)  → 基础服务层(用户/日志/接口/调度/报表)  → 公共中间件层(注册/配置/MQ/Redis/可观测)  → 数据层(MySQL/数仓/对象存储)

公共中间件层属于底层基础设施,不承载任何业务逻辑,只为上层所有服务提供分布式通用能力。

它对上承接基础服务、业务服务的调用需求;对下对接数据库、文件存储等数据层。

核心价值:

把分布式场景下的服务发现、动态配置、异步通信、缓存加速、链路观测等能力统一收敛,避免各个业务服务各自重复造轮子,统一规范、统一运维、统一监控。

中间件层和基础服务层的边界

维度 基础服务层 公共中间件层
定位 通用业务能力 分布式技术底座
是否含业务 含业务语义 不含业务语义
典型组件 用户、日志、接口、调度、报表 注册、配置、MQ、Redis、可观测
服务对象 业务服务层 所有上层服务
故障影响 某类业务能力受影响 全站稳定性受影响
建设优先级 业务可跑起来 业务跑得稳、跑得快

结论:基础服务层解决"业务能力复用",公共中间件层解决"分布式稳定性"。

二、公共中间件层五大能力体系

整套大宗商品销采运储系统,公共中间件层包含五大能力体系:

1. 服务治理体系:注册中心 + 配置中心

负责微服务实例的自动发现、健康检测,全环境配置统一管理、动态下发。

  • 注册中心:服务注册、心跳、健康检查、自动剔除、权重负载;

  • 配置中心:环境隔离、版本管理、热更新、灰度配置、配置加密。

2. 消息通信体系:消息队列

实现跨服务异步解耦、流量削峰,支撑单据事件、对账通知、异步回调等大宗业务场景。

  • 可靠投递、幂等消费、死信队列;

  • 事务消息、最终一致性;

  • 消息堆积治理、限流降级。

3. 分布式缓存体系:Redis 集群

提供热点数据缓存、分布式锁、接口限流、计数器等能力,减轻数据库查询压力。

  • 多级缓存、集群高可用;

  • 热点 Key、大 Key 治理;

  • 穿透、击穿、雪崩防护;

  • 分布式锁、一致性方案。

4. 可观测体系:链路追踪 + 指标监控 + 告警中心

串联日志服务,实现全链路调用追踪、指标采集、异常告警,快速定位跨服务故障。

  • Trace / Metric / Log 联动;

  • 调用链还原、指标大盘;

  • 告警分级、收敛、降噪;

  • 故障定位闭环。

5. 公共底座能力:集群运维、权限、灾备基础能力

  • 集群部署、扩缩容、节点运维;

  • 中间件权限、账号、密钥管理;

  • 灾备、异地多活基础能力。

重要边界说明

公共中间件层只提供基础组件能力,业务规则、报表逻辑、任务调度依然交给上层基础服务实现。中间件只做底层支撑,不侵入业务代码。


三、完整中间件全景架构

四、国产化落地选型原则

大宗商品行业项目,需要兼顾国产化适配、生产稳定性,选型遵循 4 条核心原则:

1. 高可用优先

组件必须支持集群部署,支持节点故障自动转移,单点故障不影响整体业务。

  • 注册中心:至少 3 节点;

  • 配置中心:至少 3 节点;

  • MQ:多主多从或主从切换;

  • Redis:主从 + 哨兵或 Cluster;

  • 可观测:采集端、存储端、展示端分离部署。

2. 可观测可运维

自带指标采集,能够接入监控大盘,异常可以快速告警。

  • 是否暴露 Prometheus 指标;

  • 是否有官方或成熟 Dashboard;

  • 是否支持日志接入;

  • 是否支持告警规则配置。

3. 国产化兼容

支持国产服务器、国产操作系统、国产 JDK 环境适配,满足信创环境部署要求。

  • 国产 CPU:鲲鹏、飞腾、龙芯等;

  • 国产 OS:麒麟、统信等;

  • 国产 JDK:毕昇、龙井等;

  • 国产数据库:达梦、人大金仓、OceanBase 等。

4. 业务场景适配

贴合销、采、运、储业务特征,能够支撑大批量单据、夜间批量对账、高峰流量削峰场景。

  • 采购入库、销售出库高峰;

  • 夜间批量对账、报表预计算;

  • 物流轨迹异步上报;

  • 库存热点查询。

五、本篇小结

公共中间件层是整套销采运储系统的底层底座,不承载业务,只承载稳定性、性能、通信、观测、分布式能力。

它包含五大体系:

  1. 服务治理:注册中心 + 配置中心;

  2. 消息通信:消息队列;

  3. 分布式缓存:Redis 集群;

  4. 可观测:Trace + Metric + Log + 告警;

  5. 公共底座:集群运维、权限、灾备。

选型遵循四原则:高可用优先、可观测可运维、国产化兼容、业务场景适配。

一句话记住:

基础服务层决定业务能不能复用,公共中间件层决定系统能不能稳住。
下篇预告:我们进入公共中间件层第一个组件:注册中心架构设计,讲解微服务集群如何完成服务注册、健康检查、实例上下线,以及生产环境容易踩的心跳雪崩、僵尸实例等问题。

相关推荐
谢亮_vipxieliang2 小时前
Spring Boot 自动配置原理:从 @SpringBootApplication 到自定义 Starter
java·spring boot·后端
paopaokaka_luck5 小时前
非遗文物数字化小程序(AI非遗问答、ONNX图像识别、协同过滤推荐、ECharts数据分析、非遗知识浏览与互动、文创商城订单闭环、文化活动报名签到、社区交流)
javascript·spring boot·mysql·数据分析·echarts·mybatis
weixin_404551245 小时前
AI Native 架构建议:从零开始以 AI 为核心构建系统
人工智能·架构
梦帮科技5 小时前
推测解码(Speculative Decoding)与 Draft-Target 双核协同:接受率判据、树状验证与两倍吞吐无损加速
网络·人工智能·深度学习·神经网络·线性代数·矩阵·架构
努力努力再努力wz6 小时前
【CUDA 入门系列】核函数与线程模型:一文理清 Grid、Block、dim3、内置变量与全局索引
c++·架构
海宇数据6 小时前
零信任架构实战:基于海宇活体识别V步骤1构建自动化考前活体认证网关
运维·人工智能·架构·自动化
bullkingluo6 小时前
从零到一搭建企业级智能问答系统:Ch12 · 结构化输出与工具调用
人工智能·架构·llm
bullkingluo6 小时前
从零到一搭建企业级智能问答系统:Ch11 ·大模型调参与效果评测
人工智能·架构·llm
用户5708462574407 小时前
Function Calling 调用工具总出错?问题多半在这份 schema 里
架构