Java
文章平均质量分 77
Wang's Blog
Keep learning for the innovation era.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 中间件之 RabbitMQ 快速入门: SpringAMQP 的 DirectExchange 路由模式
DirectExchange通过routingKey与bindingKey的精确匹配实现消息定向投递,区别于Fanout的广播模式。生产者需指定routingKey,交换机仅将消息发送给bindingKey完全匹配的队列,不匹配则静默丢弃。支持多队列绑定同一key以模拟广播,但需注意key写错会导致消息丢失且无提示。本文采用注解式配置(@QueueBinding等),代码简洁,适用于日志分级等场景,强调精确匹配原则及避免通配符误用。原创 2026-10-10 02:30:00 · 12 阅读 · 0 评论 -
Java 中间件之 RabbitMQ 快速入门: SpringAMQP 消息转换器
SpringAMQP默认使用JDK序列化,导致消息体为乱码且跨语言兼容差。通过引入Jackson依赖并配置Jackson2JsonMessageConverter,可实现JSON格式传输,提升可读性、体积与跨语言支持。关键在于发送端与接收端必须统一转换器,否则反序列化失败。改造后管理台可见清晰文本消息,避免安全风险,是生产推荐方案。原创 2026-10-10 01:30:00 · 17 阅读 · 0 评论 -
Java 中间件之 RabbitMQ 快速入门: SpringAMQP 入门案例的消息接收
本文详解Spring AMQP消费端核心机制,通过@RabbitListener实现消息监听。对比原生while(true)拉取消息的繁琐,Spring以SimpleMessageListenerContainer自动管理连接、线程、重连与ack,提升开发效率。重点解析prefetch=1实现“能者多劳”、异常重投机制及MessageConverter序列化陷阱。实践三步法:依赖配置、YAML设置MQ地址与预取值、编写监听方法。提供方法级与类级注解两种写法,结合@RabbitHandler按参数类型分发,兼原创 2026-10-10 00:30:00 · 28 阅读 · 0 评论 -
Java 中间件之 RabbitMQ 快速入门: SpringAMQP 入门案例的消息发送
SpringAMQP通过RabbitTemplate封装原生AMQP的繁琐操作,实现消息发送一行代码完成。它自动管理连接、声明队列、序列化消息,避免重复编码,提升开发效率。结合SpringBoot自动装配与注解监听,显著简化MQ集成,适用于绝大多数业务场景。原创 2026-10-09 23:30:00 · 7 阅读 · 0 评论 -
Java 中间件之 RabbitMQ 快速入门: SpringAMQP 基本介绍
SpringAMQP 是 Spring 对 AMQP 协议的封装,非 RabbitMQ 专属。它通过 RabbitTemplate、@RabbitListener、AmqpAdmin 和 MessageConverter 四大核心组件,将原生 amqp-client 的繁琐操作(连接、Channel、序列化、消费管理)抽象为一行代码,显著提升开发效率。其分层架构实现应用与 Broker 解耦,支持跨语言微服务通信。依赖 spring-boot-starter-amqp 可自动装配配置,适用于生产环境;而原生原创 2026-10-09 22:30:00 · 15 阅读 · 0 评论 -
Java 中间件之 RabbitMQ 快速入门: 发布订阅模型介绍
发布订阅模型通过交换机(Exchange)实现消息的多路分发,解决“一条消息需被多个下游消费”的问题。生产者将消息发送至交换机,由其根据绑定规则(Binding)将消息复制投递至多个队列,每个队列可被独立消费。核心角色包括:交换机(仅路由不存储)、队列(存储消息)、绑定(连接交换机与队列)。三种交换机类型——Fanout(广播)、Direct(精确匹配)、Topic(通配符)——决定消息分发策略。关键点:三件套(交换机、队列、绑定)必须显式声明,否则消息将静默丢弃。该模型突破了工作队列“一消息一消费者”的限原创 2026-10-09 21:30:00 · 25 阅读 · 0 评论 -
Java 中间件之 RabbitMQ 快速入门: 六种消息模型全览
RabbitMQ 六种消息模型本质是同一套架构的逐步演进:从无交换机的 Basic Queue 到引入 Exchange 的发布订阅系列。核心在于理解“消息先发给交换机,再由其按 Binding 与 RoutingKey 路由至队列”。六模型按复杂度递增:Basic Queue(直接投队列)、Work Queue(多消费者争抢)、Fanout(广播)、Direct(定向匹配)、Topic(通配符路由)、RPC(请求-响应)。其中前五类构成完整的消息分发体系,关键差异在交换机类型与路由规则。掌握“交换机不存消原创 2026-10-09 20:30:00 · 30 阅读 · 0 评论 -
Java 中间件之 RabbitMQ 快速入门: RabbitMQ 介绍与安装部署
本文通过 Docker 一键部署 RabbitMQ,详解 5672(AMQP通信)与 15672(管理控制台)端口作用,提供可复现的安装验证流程。基于 Erlang 语言实现,支持 AMQP 协议,核心概念包括 publisher、consumer、exchange、queue、virtualHost 及 Channel 复用机制。强调使用带 -management 的镜像避免控制台缺失,配置持久化数据卷与固定主机名,确保单机环境稳定运行,并附上 docker ps、curl API 等验证方法,解决常见端原创 2026-10-09 19:30:00 · 130 阅读 · 0 评论 -
Java 中间件之 RabbitMQ 快速入门: 简单队列模型快速入门
本文通过官方HelloWorld模型,完整演示RabbitMQ简单队列的发送与接收流程。基于AMQP协议,使用原生amqp-client实现,涵盖连接工厂、Channel、queueDeclare及basicPublish/basicConsume核心API。强调无交换机模式下默认交换机的作用,厘清AMQP(线路协议)与JMS(Java规范)的本质区别。工程采用Maven聚合结构,分publisher与consumer模块,通过控制台验证队列状态与消息内容。重点提示端口配置、队列名大小写、声明参数一致性等实原创 2026-10-09 12:45:00 · 28 阅读 · 0 评论 -
Java 中间件之 RabbitMQ 快速入门: 概述
本章导引聚焦服务异步通讯,以RabbitMQ为核心实现,分三阶段展开:先剖析同步调用的耦合、性能与级联失败问题,引出异步解耦、削峰填谷的MQ价值;再通过Docker部署RabbitMQ,使用原生AMQP API实现简单队列收发,掌握Connection、Channel等核心概念;最后落地SpringAMQP,利用RabbitTemplate与@RabbitListener实现工程化消息收发,结合JSON转换器、三种交换机及prefetch机制完成高效可靠的消息处理。全程强调“动手为王”,建议优先实操容器部署原创 2026-10-09 08:45:00 · 310 阅读 · 0 评论 -
Java 中间件之 RabbitMQ 快速入门: MQ 常见技术选型对比
本文深度对比ActiveMQ、RabbitMQ、RocketMQ、Kafka四款主流MQ,从协议支持、吞吐量、延迟、可靠性等维度剖析差异。核心结论:RabbitMQ适合多语言、低延迟场景;RocketMQ强于金融级业务消息;Kafka为高吞吐日志流处理之王;ActiveMQ已不推荐新项目使用。文章还揭示了吞吐量差距根源(顺序写、零拷贝、批量压缩),并提供可运行代码验证RabbitMQ上手成本,辅以决策流程图指导选型,助力开发者精准落地。原创 2026-10-09 07:15:00 · 285 阅读 · 0 评论 -
Java 中间件之 RabbitMQ 快速入门: 异步通讯的优缺点
支付服务从同步调用转向事件驱动架构,通过RabbitMQ作为Broker实现异步通知,将响应时间从500ms降至60ms,显著提升吞吐量。核心优势包括:服务解耦(新增/下线订阅方无需修改支付服务)、故障隔离(仓储宕机不影响支付)、流量削峰(Broker缓冲洪峰)。但代价也明显:Broker成新依赖、无法获取下游结果、需自行处理消息丢失、重复与顺序问题,排查链路变为日志追踪。适用于非强一致性场景,如通知类业务。原创 2026-10-09 01:30:00 · 249 阅读 · 0 评论 -
Java 中间件之 RabbitMQ 快速入门: 初识 MQ:同步通讯的优缺点
本文通过实证分析支付服务中同步调用(Feign)的四大痛点:耦合度高、性能下降、资源浪费与级联失败。实测显示,500ms响应耗时源于链路累加,导致吞吐仅400QPS;任一下游故障即引发雪崩。对比异步解耦方案,揭示引入MQ的必要性——打破依赖、提升可用性与扩展性。原创 2026-10-09 00:30:00 · 134 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Ribbon 饥饿加载
服务刚重启完,第一次调接口要 500 多毫秒,再刷一次就只剩 20 多毫秒——这个差距不是网络抖动,是 Ribbon 默认懒加载造成的。这篇讲清楚它为什么会慢,以及用怎么把这笔"首次调用延迟"提前到启动阶段还掉。Ribbon 默认懒加载,初始化(建、拉列表、装配)全部压在第一次调用上,所以首次慢、后续快。初始化按服务名独立,有几个下游就有几次"第一次慢",重启后重新计数。饥饿加载用clients列表把这段成本前移到启动阶段;clients必须是列表,且要写注册中心里的真实服务名。原创 2026-10-08 23:30:00 · 147 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Ribbon 负载均衡原理
@LoadBalanced 仅作标记,通过 @Qualifier 为 RestTemplate 添加限定符。LoadBalancerAutoConfiguration 由此识别并注入 LoadBalancerInterceptor,拦截请求,提取服务名,经由 Ribbon 调用 Eureka 拉取实例列表,结合 IRule(如轮询)选择实例,最终替换为真实地址发起请求。该过程实现客户端负载均衡,区别于 Nginx 等服务端方案。自 Spring Cloud 2020.0.0 起,Ribbon 已被 spri原创 2026-10-08 22:30:00 · 191 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Ribbon 负载均衡策略与自定义
上一节我们知道了能让 RestTemplate 用服务名发请求,但最终落到还是8082是 Ribbon 挑的。这篇讲清楚它到底怎么挑、内置有哪些挑法、以及怎么把默认策略换掉——以及换的时候最容易踩的那两个坑。在的里加一段,注意前缀是服务名userservice: # 给哪个微服务定制规则,这里只对 userservice 生效ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 全限定类名为什么前缀是。原创 2026-10-08 21:30:00 · 456 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Nacos 配置管理之添加配置与 dataId 命名规范
微服务拆分后配置管理陷入困境:改一个配置需多服务发版重启。本文聚焦将配置迁移至Nacos,详解namespace(环境隔离)、group(业务分组)、dataId(唯一标识)三坐标定位机制。强调dataId命名规范必须严格匹配[服务名]-[profile].[后缀],否则导致静默失败。通过bootstrap.yml拼接dataId实现热更新,避免重启。实操中仅保留需动态变更的开关类配置,利用控制台发布与版本回滚保障可靠性。原创 2026-10-08 20:45:00 · 286 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Nacos 配置热更新
本文详解Nacos配置动态刷新机制,解决“改配置不生效”问题。核心在于:@Value 仅启动时注入,需配合 @RefreshScope 实现刷新;而 @ConfigurationProperties 无需额外注解即可自动刷新。对比二者在刷新机制、类型安全、批量绑定等方面的差异,揭示底层依赖Nacos长轮询实现秒级变更推送。同时指出 @RefreshScope 的代理对象、@PostConstruct 重执行等副作用及常见坑点,提供可复现的验证流程,指导生产环境高效配置管理。原创 2026-10-08 19:45:00 · 347 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Nacos 集群搭建(三节点 + MySQL + Nginx)
将单机Nacos升级为三节点集群,解决注册中心单点故障问题。通过共享MySQL存储实现数据一致性,配置cluster.conf列出真实IP:端口(避免使用127.0.0.1),复制三份实例并分别修改端口,用Nginx做负载均衡统一入口。客户端连接时只需指向Nginx地址。关键步骤包括初始化MySQL、配置外部数据库连接、正确设置集群节点列表,确保各节点可互通。生产环境建议部署于不同机器,配合高可用数据库。原创 2026-10-08 01:45:00 · 634 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: NacosRule 同集群优先的负载均衡
集群属性配好了,实例也按机房分开了,但调时照样跨机房——因为默认的负载均衡规则根本不认识 Nacos 的集群概念,得把规则换成NacosRule。集群属性只是把实例分了组,分组本身不改变调用行为。真正决定"往哪打"的是负载均衡规则。默认的认的是 Eureka 的 zone,跟 Nacos 的是两套字段,所以它做不到同集群优先,只会轮询。NacosRule的顺序是:同集群优先 → 集群内随机 → 都没有才跨集群(并打 WARN)。集群内是随机,别把它当成轮询。原创 2026-10-08 00:45:00 · 664 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Nacos 与 Eureka 的对比选型
注册中心从 Eureka 换成 Nacos,业务代码一行没改,但服务上下线的感知速度、实例的存活策略、集群的一致性模型全变了。这篇文章把两者的差异拆到底层机制,并给出一张迁移清单。主干流程一样:注册、拉取、心跳,Eureka 和 Nacos 都支持;差异在健康检测方式、列表变更通知方式和一致性模型。Eureka 是纯 AP,且不能切换;Nacos 默认 AP,存在非临时实例时切 CP。注册中心作为地址簿,选 AP 的理由是"列表短暂不一致只是少调一个实例,注册中心不可用会断掉整条链路"。原创 2026-10-07 23:45:00 · 141 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Nacos 与 Eureka 的对比选型
注册中心从 Eureka 换成 Nacos,业务代码一行没改,但服务上下线的感知速度、实例的存活策略、集群的一致性模型全变了。这篇文章把两者的差异拆到底层机制,并给出一张迁移清单。主干流程一样:注册、拉取、心跳,Eureka 和 Nacos 都支持;差异在健康检测方式、列表变更通知方式和一致性模型。Eureka 是纯 AP,且不能切换;Nacos 默认 AP,存在非临时实例时切 CP。注册中心作为地址簿,选 AP 的理由是"列表短暂不一致只是少调一个实例,注册中心不可用会断掉整条链路"。原创 2026-10-07 22:45:00 · 176 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Nacos 注册中心的认识与安装
Nacos 一个组件同时干两件事:服务注册发现和分布式配置管理,等于把 Eureka 和 Spring Cloud Config 合进了一个进程。这篇先把它是什么说清楚,再给两条能直接跑起来的安装路径(Docker 与压缩包),最后列一遍装不上时最常撞的坑。Nacos 是 Spring Cloud Alibaba 的组件,坐标在下,父工程靠统一管版本。它一个进程干了注册中心和配置中心两件事。本篇只用到注册发现,配置管理在后续章节展开,但装的时候不用为两者分别部署。单机启动的死命令是。原创 2026-10-07 21:45:00 · 391 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Nacos 快速入门
服务拆分做完、远程调用也跑通了,但服务地址还是写死的。这篇讲怎么把 user-service 和 order-service 注册到 Nacos,重点是从 Eureka 迁过来的那几处差异——改错了就是启动报错或者服务列表空空如也。Nacos 的快速入门之所以三步就能收尾,是因为 Spring Cloud 把服务注册发现抽象成了和两个接口,业务代码和负载均衡都待在接口层之上,不动。实际要改的只有三处:父工程 import管版本,模块把换成,yml 里把换成。原创 2026-10-07 20:45:00 · 155 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Nacos 环境隔离
Nacos 命名空间实现环境隔离,避免 dev/test/prod 服务互相可见。若未配置 namespace,所有服务默认注册在 public 空间,导致实例混杂、调用错乱。需通过 spring.cloud.nacos.discovery.namespace 和 config.namespace 分别指定服务与配置的命名空间 ID(非名称),确保服务发现与配置拉取双重隔离。重启生效,否则热更新无效。注意:namespace 实现“不可见”隔离,cluster 仅影响负载优先级,二者不可混淆。原创 2026-10-07 19:45:00 · 208 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Nacos 服务实例的权重设置
Nacos实例权重用于按机器性能动态分配流量,解决多实例性能不均导致慢机压垮问题。权重为相对值,0表示不接收流量但保持健康状态,仅在NacosRule下生效。通过控制台调整权重(如0.1→0.5→1.0),可实现灰度发布与平滑下线,无需重启服务。验证需结合日志统计,确保分流比例符合预期。关键坑点:勿误用百分比、避免规则错配、注意缓存影响。原创 2026-10-07 18:45:00 · 400 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Nacos 服务多级存储模型
Nacos 通过服务→集群→实例的三级结构,实现跨机房调用的就近优先。配置 cluster-name 可将实例按机房分组(如 HZ、SH),确保调用优先选择同集群实例,降低延迟。需注意:消费者与提供者均需正确配置集群名,避免大小写不一致或仅一方配置。集群用于机房维度的就近调用,与 namespace 的环境隔离不同。同机房优先策略依赖 NacosRule,本节仅完成集群划分前提。原创 2026-10-07 17:45:00 · 379 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Feign 的最佳实践:继承与抽取
Feign客户端与提供者接口高度重复,源于契约一致性要求。为减少冗余,社区提出继承与抽取两种方案。继承法虽简洁,但导致服务间紧耦合、注解污染及参数注解无法继承,违背微服务独立部署原则。抽取法(独立feign-api模块)通过共享接口、POJO与配置,实现解耦,推荐使用。消费者仅需引入依赖并指定clients,避免扫描问题。真实代价包括依赖管理复杂与POJO归属争议。最终结论:优先选用抽取方式,确保可维护性与松耦合。原创 2026-10-07 16:30:00 · 315 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Feign 的自定义配置与日志级别
Feign默认不打印日志,需手动配置日志级别(NONE/BASIC/HEADERS/FULL)并开启对应包的logging.level。配置方式有二:①YAML中通过feign.client.config.<服务名>.loggerLevel设置,配合logging.level.包名: debug;②Java代码中定义@Bean Logger.Level。注意:两层配置必须同时生效——Feign生成日志后,还需日志框架允许输出。优先级为局部配置 > 全局default > 全局默认。FULL级别含请求体,慎用原创 2026-10-06 23:30:00 · 57 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Feign 替代 RestTemplate 实现声明式远程调用
本文介绍用Feign替代RestTemplate实现服务间调用的四步改造:引入依赖、开启Feign、定义声明式接口、注入调用。Feign通过注解声明请求五要素(服务名、方法、路径、参数、返回值),实现“调本地方法”般的体验,提升可读性与维护性。底层基于动态代理与Ribbon负载均衡,需注意注解扫描、参数注解、服务名大小写等常见坑点。原创 2026-10-06 22:30:00 · 45 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Feign 的性能优化
Feign性能瓶颈主要源于默认的HttpURLConnection无连接池,导致每次调用均需新建TCP连接。优化核心是替换为带连接池的客户端(如HttpClient),通过引入feign-httpclient依赖并开启feign.httpclient.enabled: true,配置max-connections与max-connections-per-route实现连接复用。参数过小会导致排队,反而降低性能。同时建议将日志级别降至BASIC、启用GZIP压缩大报文,并合理设置超时避免重试放大。可通过压测耗原创 2026-10-06 21:30:00 · 51 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Eureka 注册中心原理分析
上一篇把 Eureka Server 跑起来了,控制台能刷出实例列表。这个列表是怎么维护起来的,凭什么让不写死 IP 也能调通、还能在挂掉后自动绕开它。eureka-server 记录和管理,eureka-client 注册与消费。所有微服务都是 client,原因是每个服务都可能反过来对外提供服务。注册解决「谁在哪」,拉取解决「怎么找到」,续约解决「还活着吗」,剔除解决「死了怎么摘掉」。消费者不是每次调用都问注册中心,而是本地缓存 + 定期拉取。原创 2026-10-06 20:30:00 · 49 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: 服务提供者与消费者
微服务调用中,角色分为服务提供者(Provider)与服务消费者(Consumer),判定依据是“谁调用谁”。二者角色相对,同一服务可兼具双重身份,如order-service既对外提供接口,又调用user-service。此概念是注册中心、负载均衡等机制的基础:提供者注册服务,消费者拉取地址。理解角色相对性,有助于厘清调用链路与后续技术实现逻辑。原创 2026-10-06 19:45:00 · 30 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Eureka 服务注册
注册中心已经跑起来了,空列表一个实例都没有,接下来就是把注册进去。这件事本身不难——引一个依赖、写两行配置就完事——但「谁需要注册」这个前提很容易想歪,很多人以为只有服务提供者才要注册,结果消费者拉不到服务列表,卡一整天。引客户端依赖 + 配服务名与注册中心地址。凡是看到「引入并配上」,就是在做注册这件事,跟它自报家门是提供者还是消费者身份无关。是后续lb://匹配的字符串基础,写错了后患无穷,先定名再动代码。消费者也要注册,否则它没有拉取注册表的身份。原创 2026-10-06 18:30:00 · 53 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Eureka 服务发现与服务名调用改造
上一篇把注册进了 Eureka,但里还写着。服务注册了等于白注册——调用方根本没去查注册中心。这一篇就做这一件事:把硬编码的 IP 端口换成服务名,让自己从 Eureka 拉实例列表,顺手把负载均衡也带上。URL 用服务名替掉 IP 端口,的 Bean 加上。前者是显式改动,后者是生效开关。只加在创建的@Bean方法上,加错位置和没加效果一样报UnknownHostException: 服务名,先看注解,再看 Eureka 里注册名是否拼写一致,别急着怀疑网络。原创 2026-10-06 17:30:00 · 39 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: Eureka 注册中心的搭建
微服务拆分之后,订单服务调用用户服务不能再写死,因为用户服务会扩容成多个实例,IP 和端口随时在变。这一篇就把解决这个问题的 Eureka 注册中心跑起来:一个独立的微服务,三步配置,启动后打开控制台能看到实例列表。引依赖、启动类加、配置文件写端口/服务名/。依赖后缀是-server还是-client,选错不会报错但功能对不上后面那截/eureka少不得,这是 404 的头号来源决定控制台里显示名字还是UNKNOWN默认是true,单节点关掉是优化不是必须,集群下必须保留。原创 2026-10-06 16:30:00 · 94 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: 微服务配置拉取
微服务启动时需从Nacos拉取远程配置,关键在于解决“先有配置才能读配置”的死循环。核心是引入bootstrap.yml,由父上下文(bootstrap context)优先读取Nacos地址等定位信息,再合并本地application.yml。五步改造:加依赖、建bootstrap.yml、配置服务名/环境/Nacos地址/文件后缀、在Nacos创建对应dataId、验证日志。注意bootstrap.yml必须早于application.yml加载,且Boot 2.4+需手动开启。原创 2026-10-06 15:30:00 · 98 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: 微服务框架课程介绍与知识地图
本文为SpringCloud模块导引篇,系统阐述微服务的必要性与SpringCloud的技术体系。从求职、企业架构需求出发,揭示单体架构在并发与迭代上的瓶颈,引出微服务拆分的必然性。通过“问题-技术”对应表,梳理注册中心、网关、负载均衡、配置中心、熔断降级等核心组件的职责,并以调用链路图展示各组件协同关系。明确SpringBoot与SpringCloud的分工与版本匹配原则(如Hoxton.SR10对应2.3.9.RELEASE),并给出学习路径建议与示例工程结构,帮助读者构建完整知识地图,实现从“知其然”原创 2026-10-06 14:30:00 · 84 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: 网关作用介绍
服务拆分后,若无统一入口,客户端需硬编码各服务地址,导致维护困难;权限校验、限流等跨切面逻辑重复冗余,安全风险高。网关作为唯一入口,承担路由转发(集成服务发现与负载均衡)、权限校验、限流及跨域处理三大核心职责,实现入口统一、安全可控。它自身也是微服务,需注册中心支持,与Nginx分层协作:前者处理业务规则,后者负责流量接入。技术选型上,Spring Cloud Gateway凭借非阻塞架构成主流。需避免在网关中掺杂业务逻辑或缓存数据,确保其专注入口治理。原创 2026-10-06 12:45:00 · 182 阅读 · 0 评论 -
Java框架 SpringCloud 快速入门: 搭建 Gateway 网关实现请求路由
本文以 cloud-demo 项目为例,详解 SpringCloud Gateway 的搭建与核心功能。通过四步快速入门:创建模块、引入依赖(避坑spring-boot-starter-web)、编写启动类、配置路由规则,实现客户端统一访问微服务。强调网关三大职责——路由转发、权限校验、限流,并对比 Zuul、Nginx 等方案,明确 Gateway 在响应式架构中的优势。结合实战坑点(如 lb:// 写错、yml 缩进问题),完整演示网关如何作为微服务统一入口,实现高效、安全的请求分发。原创 2026-10-06 11:30:00 · 125 阅读 · 0 评论
分享