服务治理:注册发现、负载均衡与熔断降级
引子:一次服务雪崩事故 2020年双11,某电商平台因评论服务故障导致整个系统瘫痪3小时,损失上亿。 故障链路: 用户下单 → 订单服务 → 评论服务(响应慢,20秒超时) → 订单服务线程池耗尽 → 用户服务调用订单服务失败 → 整个系统崩溃 问题根源:缺乏有效的服务治理机制 一、服务注册与发现 1.1 为什么需要服务注册中心? 问题:微服务架构下,服务IP动态变化 订单服务 → 库存服务(192.168.1.10:8080) 问题: 1. 库存服务重启,IP可能变化 2. 库存服务扩容,新增实例 3. 库存服务下线,需要摘除 解决方案:服务注册中心 订单服务 → 注册中心 → 获取库存服务列表 ↓ [192.168.1.10:8080, 192.168.1.11:8080, 192.168.1.12:8080] 1.2 Nacos服务注册与发现 服务提供者:注册服务 /** * 库存服务:自动注册到Nacos */ @SpringBootApplication @EnableDiscoveryClient public class InventoryServiceApplication { public static void main(String[] args) { SpringApplication.run(InventoryServiceApplication.class, args); } } # application.yml spring: application: name: inventory-service # 服务名 cloud: nacos: discovery: server-addr: 127.0.0.1:8848 namespace: dev group: DEFAULT_GROUP 服务消费者:发现服务 ...