学习 Java 微服务需要掌握一系列核心知识点和技术栈,以下是系统性的学习路径和关键技术点:
一、微服务基础理论
-
微服务架构概念
- 服务拆分原则(单一职责、边界上下文)
- 服务间通信模式(同步 / 异步)
- 优缺点与适用场景
-
设计模式
- API 网关、服务发现、负载均衡
- 熔断、限流、降级(容错模式)
- 配置中心、服务网格
-
DevOps 与 CI/CD
- 容器化(Docker)、编排(Kubernetes)
- 自动化测试、部署流水线
二、核心技术栈(Java 生态)
1. 服务开发框架
- Spring Cloud
- Spring Cloud Netflix(Eureka、Ribbon、Hystrix 等)
- Spring Cloud Gateway(API 网关)
- Spring Cloud Config(配置中心)
- Spring Cloud LoadBalancer(负载均衡)
- Spring Cloud OpenFeign(声明式 HTTP 客户端)
- Spring Boot
- 自动配置、Starter 依赖管理
- Actuator 监控与健康检查
2. 服务注册与发现
- Eureka(Netflix)
- Consul(HashiCorp)
- Nacos(阿里巴巴)
- ZooKeeper
3. 服务通信
- RESTful API(Spring Web MVC)
- RPC(gRPC、Apache Dubbo)
- 消息队列(RabbitMQ、Kafka、RocketMQ)
4. 服务治理
- 熔断与限流:Hystrix、Sentinel
- 负载均衡:Ribbon、Spring Cloud LoadBalancer
- 服务网关:Spring Cloud Gateway、Kong
- 配置中心:Nacos、Apollo、Config Server
5. 分布式事务
- Seata(AT/TCC/SAGA 模式)
- 柔性事务:最终一致性方案
6. 分布式缓存与存储
- 缓存:Redis、Memcached
- 数据库:分库分表(ShardingSphere)、读写分离
- NoSQL:MongoDB、Elasticsearch
7. 监控与链路追踪
- 监控:Prometheus + Grafana
- 链路追踪:Zipkin、Sleuth、Skywalking
- 日志聚合:ELK Stack(Elasticsearch + Logstash + Kibana)
8. 安全与认证
- OAuth 2.0与 JWT
- Spring Security
- API 网关安全(认证、授权)
三、实践技能
-
容器化与编排
- Docker 基础(镜像、容器、Dockerfile)
- Kubernetes(Pod、Deployment、Service)
-
服务拆分与设计
- 领域驱动设计(DDD)
- 数据库模式设计(分库分表策略)
-
高并发与高可用
- 限流算法(令牌桶、漏桶)
- 降级与熔断策略
- 灾备与故障恢复
四、常用工具链
- 开发工具:IntelliJ IDEA、Maven/Gradle
- 版本控制:Git(分支策略、CI/CD 集成)
- 容器平台:Docker、Docker Compose、Kubernetes
- 监控工具:Prometheus、Grafana、Skywalking
- CI/CD 工具:Jenkins、GitLab CI、GitHub Actions
五、学习资源推荐
-
书籍
- 《Spring Cloud 微服务实战》
- 《微服务架构设计模式》
- 《领域驱动设计》
-
框架官方文档
- Spring Cloud:Spring Cloud
- Seata:Apache Seata
- Nacos:Nacos官网| Nacos 配置中心 | Nacos 下载| Nacos 官方社区 | Nacos 官网
-
实战项目
- 基于 Spring Cloud 的电商系统 demo
- 开源微服务脚手架(如 pig、renren-fast)
六、注意事项
- 避免过度设计:从小型服务开始,逐步引入复杂度。
- 测试策略:单元测试、集成测试、契约测试(Pact)。
- 性能优化:服务间通信优化、数据库索引优化。
629

被折叠的 条评论
为什么被折叠?



