【Java】Spring Cloud 微服务架构入门:五大核心组件与分布式系统搭建

【Java】Spring Cloud 微服务架构入门:五大核心组件与分布式系统搭建(2026年实用版)

2026年,Spring Cloud 生态已经非常成熟,虽然Netflix OSS 部分组件早已停止维护(如 Eureka 2.0、Hystrix、Ribbon、Zuul 1.x),但社区和企业仍在大量使用 Spring Cloud Alibaba + Spring Cloud 官方组件 的组合。

经典的“五大核心组件”说法源于早期 Netflix 时代(2018~2020年左右),如今已经演变为更现代的选型方案。下面我们先回顾经典五大,再给出2026年最推荐的生产级五大组件,最后手把手带你从零搭建一个最小分布式系统。

一、经典“五大核心组件”回顾(很多人面试还在问)

序号经典组件作用现状(2026年)主流替代方案
1Eureka服务注册与发现1.x 仍可使用,但不再活跃Nacos / Consul / Kubernetes Service
2Ribbon客户端负载均衡已停止维护Spring Cloud LoadBalancer(官方推荐)
3Hystrix服务熔断、降级、隔离停止维护Resilience4j / Sentinel
4Zuul 1API 网关(同步阻塞式)停止维护Spring Cloud Gateway(响应式)
5Feign声明式 HTTP 客户端(服务调用)仍在活跃(OpenFeign)无需替代,继续使用

一句话:“Netflix 五大件” 已经过时,但思想永不过时,现在主流是 “Alibaba + 官方现代组件” 组合。

二、2026年最推荐的生产级“五大核心组件”组合(企业主流)

排名组件作用为什么2026年首选?学习优先级
1Nacos (Spring Cloud Alibaba)服务注册/发现 + 配置中心一体化、性能极高、支持动态刷新、命名空间/分组隔离强★★★★★
2Spring Cloud OpenFeign声明式服务调用依旧是调用层事实标准,支持 Sentinel 集成★★★★★
3Spring Cloud GatewayAPI 网关(路由、限流、鉴权)响应式、非阻塞、性能碾压 Zuul、WebFlux 原生★★★★☆
4Sentinel (Alibaba)流量控制、熔断降级、系统保护比 Resilience4j 更丰富 dashboard、可视化规则推送★★★★☆
5Spring Cloud LoadBalancer客户端负载均衡官方替换 Ribbon,轻量、无需额外依赖★★★☆☆

扩展常用但非必须的第六、第七件

  • 链路追踪:Micrometer + Zipkin / Skywalking / Elastic APM
  • 消息驱动:Spring Cloud Stream + RocketMQ / Kafka

三、从零搭建最小分布式系统(2026推荐技术栈)

目标:搭建 3 个微服务 + 网关 的最小 demo
技术版本参考(2026年1月主流稳定版):

  • Spring Boot 3.3.x / 3.4.x
  • Spring Cloud 2023.0.x / 2024.0.x / 2025.0.x(Northfields)
  • Spring Cloud Alibaba 2023.0.x(兼容 2025 Spring Cloud)
项目结构(推荐多模块 Maven)
microservice-demo ├── common # 通用工具、异常、VO等 ├── service-registry # Nacos Server(可单独部署) ├── service-provider # 订单服务(provider) ├── service-consumer # 用户服务(consumer,调用订单) ├── api-gateway # Spring Cloud Gateway └── pom.xml # 父pom 
核心步骤(极简版)
  1. 启动 Nacos Server(单机模式最快)下载 nacos-server-2.x.x.zip → 解压 → cmd 执行 startup.cmd -m standalone访问 http://localhost:8848/nacos (默认账号密码 nacos/nacos)

Gateway 路由配置(application.yml)

spring:cloud:gateway:routes:-id: provider_route uri: lb://service-provider # lb:// + 服务名predicates:- Path=/order/**

启用 Feign + 消费服务

@SpringBootApplication@EnableDiscoveryClient@EnableFeignClients// 开启 FeignpublicclassConsumerApplication{publicstaticvoidmain(String[] args){SpringApplication.run(ConsumerApplication.class, args);}}// Feign 接口@FeignClient("service-provider")// 直接写服务名!publicinterfaceOrderFeignClient{@GetMapping("/order/create")StringcreateOrder();}

配置文件示例(bootstrap.yml 优先级高于 application.yml)

spring:application:name: service-provider # 必须,每个服务不同cloud:nacos:discovery:server-addr: 127.0.0.1:8848config:server-addr: 127.0.0.1:8848file-extension: yaml # 支持动态刷新server:port:8001

所有微服务添加核心依赖

<dependencies><!-- Nacos 注册 + 配置 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!-- OpenFeign 声明式调用 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!-- Gateway(网关项目专用) --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!-- Sentinel(可选,先不加) --></dependencies>

父工程 + 统一依赖管理

<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2025.0.0</version><!-- 或最新 202x 版本 --><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2023.0.3.0</version><!-- 匹配 Spring Cloud --><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

四、快速上手建议路线(3~4周)

  • 第1周:Nacos 注册发现 + 配置中心
  • 第2周:OpenFeign + LoadBalancer 调用链
  • 第3周:Gateway 路由/限流/跨域/鉴权
  • 第4周:Sentinel 流量控制 + 熔断降级 + 链路追踪(Zipkin)

一句话总结2026年学习 Spring Cloud 的心态

别再死磕已停止维护的 Netflix 五大件了,
拥抱 Nacos + Gateway + OpenFeign + Sentinel 这套组合,才是当下企业真实生产环境的主流打法!

你现在是刚入门想从头学,还是已经在项目中遇到具体痛点(比如 Nacos 配置不刷新、Gateway 跨域、Sentinel 规则推送等)?
告诉我,我可以给你更针对性的代码示例或避坑指南~

Read more

MCP客户端与服务端初使用——让deepseek调用查询天气的mcp来查询天气

MCP客户端与服务端初使用——让deepseek调用查询天气的mcp来查询天气

本系列主要通过调用天气的mcp server查询天气这个例子来学习什么是mcp,以及怎么设计mcp。话不多说,我们开始吧。主要参考的是B站的老哥做的一个教程,我把链接放到这里,大家如果有什么不懂的也可以去看一下。 https://www.bilibili.com/video/BV1NLXCYTEbj?spm_id_from=333.788.videopod.episodes&vd_source=32148098d54c83926572ec0bab6a3b1d https://blog.ZEEKLOG.net/fufan_LLM/article/details/146377471 最终的效果:让deepseek-v3使用天气查询的工具来查询指定地方的天气情况 技术介绍 MCP,即Model Context Protocol(模型上下文协议),是由Claude的母公司Anthropic在2024年底推出的一项创新技术协议。在它刚问世时,并未引起太多关注,反响较为平淡。然而,随着今年智能体Agent领域的迅猛发展,MCP逐渐进入大众视野并受到广泛关注。今年2月,

By Ne0inhk
可以在命令行通过大模型使用上下文协议(MCP)与外部工具交互的软件:小巧的MCPHost

可以在命令行通过大模型使用上下文协议(MCP)与外部工具交互的软件:小巧的MCPHost

小巧的MCPHost MCPHost 可以在命令行下使用,使大型语言模型(LLM)能够通过模型上下文协议(MCP)与外部工具进行交互。目前支持Claude 3.5 Sonnet和Ollama等。本次实践使用自己架设的Deepseek v3模型,跑通了Time MCP服务。  官网:GitHub - mark3labs/mcphost: A CLI host application that enables Large Language Models (LLMs) to interact with external tools through the Model Context Protocol (MCP). 下载安装 使用非常方便,直接下载解压即可使用。官网提供Windows、Linux和MacOS三个系统的压缩包: https://github.com/

By Ne0inhk
实战篇:Python开发monogod数据库mcp server看完你就会了

实战篇:Python开发monogod数据库mcp server看完你就会了

原创不易,请关注公众号:【爬虫与大模型开发】,大模型的应用开发之路,整理了大模型在现在的企业级应用的实操及大家需要注意的一些AI开发的知识点!持续输出爬虫与大模型的相关文章。 前言 目前mcp协议是给deepseek大模型插上工具链的翅膀,让大模型不仅拥有超高的推理和文本生成能力,还能具备执行大脑意识的工具能力! 如何开发一个mcp? mcp是一种协议,指的是模型上下文协议 (Model Context Protocol)。 官方结成的mcp https://github.com/modelcontextprotocol/python-sdk mcp库 pip install mcp from mcp.server.fastmcp import FastMCP 我们先来做一个简单的案例 from mcp.server.fastmcp import FastMCP import requests mcp = FastMCP("spider") @mcp.tool() def crawl(

By Ne0inhk
AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建

AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建

AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建 作者:高瑞冬 本文目录 * AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建 * 一、MCP协议简介 * 二、创建MCP工具集 * 1. 获取MCP服务地址 * 2. 在FastGPT中创建MCP工具集 * 三、测试MCP工具 * 四、AI模型调用MCP工具 * 1. 调用单个工具 * 2. 调用整个工具集 * 五、私有化部署支持 * 1. 环境准备 * 2. 修改docker-compose.yml文件 * 3. 修改FastGPT配置 * 4. 重启服务 * 六、使用MCP-Proxy集成多个MCP服务 * 1. MCP-Proxy简介 * 2. 安装MCP-Proxy * 3. 配置MCP-Proxy * 4. 将MCP-Proxy与FastGPT集成 * 5. 高级配置

By Ne0inhk