当单体应用变得庞大臃肿,微服务架构成为解耦利器。但微服务也带来了分布式系统的复杂性,选购微服务源码需要关注更多细节。
Nacos:阿里巴巴开源,注册中心+配置中心二合一,国内生态友好。
Consul:HashiCorp出品,支持多数据中心。
Eureka:Netflix开源,Spring Cloud默认选择,但已停止维护。
Etcd/ZooKeeper:通用分布式协调,需自己实现服务注册逻辑。
Nacos、Apollo(携程)、Spring Cloud Config。配置热更新、灰度发布、配置版本回滚是核心能力。
Spring Cloud Gateway:Java生态,功能丰富。
Kong:基于Nginx/OpenResty,性能强劲。
APISIX:Apache项目,云原生API网关。
网关职责:路由转发、限流熔断、鉴权、日志、监控。
同步调用:REST、gRPC、Dubbo。
异步消息:RabbitMQ、Kafka、RocketMQ。
消息队列用于服务解耦、异步处理、流量削峰。
链路追踪:SkyWalking、Jaeger、Zipkin,追踪请求在多个服务间的调用链。
监控告警:Prometheus + Grafana。
日志聚合:ELK(Elasticsearch + Logstash + Kibana)、Loki。