1. 服务注册与发现(Service Registry & Discovery)
- 作用:就像公司的总机接线员,记录每个部门(服务)的位置(IP 和端口)。当有人(客户端)要找某个部门时,总机告诉他们去哪里找,即使部门换了办公室(服务 IP 变了)也能及时更新。
- 常见工具:Eureka、Nacos、Consul
- 比喻:手机里的通讯录,存了朋友电话,换号了就更新一下。
2. API 网关(API Gateway)
- 作用:类似小区的保安亭,所有进出小区的人(请求)都要经过这里。保安(网关)可以检查身份(认证授权)、指路(路由)、限制人数(限流)。
- 常见工具:Spring Cloud Gateway、Kong、Zuul
- 比喻:商场的总服务台,你不用记住每家店的位置,问服务台就知道。
3. 配置中心(Configuration Center)
- 作用:集中管理所有服务的配置文件,就像游戏的云端存档。当你换设备(环境)登录时,自动加载你的设置(配置),还能实时更新,不用重启游戏。
- 常见工具:Nacos、Apollo、Config Server
- 比喻:云盘存了你的文档,多台电脑都能同步。
4. 服务间通信(Inter-service Communication)
- 同步调用:打电话,必须等对方接了、说完你才能继续。
- 工具:REST API(HTTP)、gRPC(高性能 RPC)
- 异步调用:发微信,对方什么时候回都行,不影响你干别的。
- 工具:消息队列(RabbitMQ、Kafka、RocketMQ)
- 比喻:同步是当面聊天,异步是留言。
5. 负载均衡(Load Balancing)
- 作用:像餐厅的领位员,顾客(请求)来了之后,把他们分配到空闲的餐桌(服务器),避免某个服务员(服务器)太忙。
- 常见工具:Ribbon、Nginx、Spring Cloud LoadBalancer
- 比喻:游乐园排队,工作人员把你分到人少的队伍。
6. 熔断与限流(Circuit Breaker & Rate Limiting)
- 熔断:家里的保险丝,当电路(服务)过载时自动断开,防止整个房子(系统)出问题。等电路修好了(服务恢复),再合上开关。
- 限流:地铁进站口的栏杆,限制每分钟进入的人数,避免挤爆。
- 常见工具:Hystrix、Sentinel、Resilience4j
- 比喻:熔断是跳闸,限流是限流闸。
7. 分布式事务(Distributed Transaction)
- 作用:保证多个服务操作的一致性,就像银行转账。A 转 100 给 B,A 扣钱和 B 加钱必须同时成功或失败,否则就乱套了。
- 常见工具:Seata(AT/TCC/SAGA 模式)、XA 协议
- 比喻:两个人合伙做生意,一笔钱的进出必须双方账本都记上。
8. 服务监控与链路追踪(Monitoring & Tracing)
- 监控:医院的体检报告,定期检查身体(系统)各项指标(CPU、内存、QPS)。
- 链路追踪:快递单号查询,从发货到收货,每一步都能查到。
- 常见工具:Prometheus(监控)、Grafana(可视化)、Zipkin/Skywalking(链路追踪)
- 比喻:监控是体检,链路追踪是查快递。
9. 容器化与编排(Containerization & Orchestration)
- 容器(Docker):快递包裹,把应用和依赖打包成一个箱子,不管在哪台机器上都能运行。
- 编排(Kubernetes):物流公司的调度中心,管理成千上万的包裹(容器),决定放在哪个仓库(服务器),出问题了自动补发(重启容器)。
- 比喻:Docker 是集装箱,Kubernetes 是港口调度系统。
10. CI/CD(持续集成 / 持续部署)
- CI:流水线质检员,代码提交后自动编译、测试,有问题马上报错。
- CD:自动化快递员,代码测试通过后,自动部署到生产环境。
- 常见工具:Jenkins、GitLab CI、GitHub Actions
- 比喻:CI 是工厂质检,CD 是自动发货。
总结:微服务生态的协作流程
- 服务启动后,向注册中心 "报道"(注册)。
- 客户端请求通过 API 网关,网关负责认证、路由。
- 请求被负载均衡分配到具体服务实例。
- 服务间通过同步 / 异步方式调用,复杂操作使用分布式事务保证一致性。
- 配置中心管理所有服务的配置,支持动态更新。
- 熔断和限流保护系统,防止雪崩。
- 监控和链路追踪记录系统运行状态,方便排查问题。
- 容器化打包服务,Kubernetes 编排部署。
- CI/CD 自动化代码集成、测试和部署。
比喻整个微服务系统
就像一个大型购物中心:
- 注册中心是总服务台,记录所有店铺位置。
- API 网关是入口保安,检查门票、指引方向。
- 配置中心是中控室,统一控制空调、灯光。
- 服务间通信是店铺之间的货物运输(快递 / 直送)。
- 负载均衡是停车场引导员,分配车位。
- 熔断是电路保护装置,限流是客流控制。
- 监控是摄像头,链路追踪是商品溯源系统。
- 容器是店铺模块,可整体搬迁。
- CI/CD 是自动装修队,新店开业或翻新不用人工干预。