1、基础能力
数字信封的处理 完整请求调用链 动态配置中心
多数据源支持,分库分表等
1.1安全机制
- 认证授权:Spring Security/JWT/OAuth2
- 权限控制:基于角色的访问控制(RBAC)
- 输入验证:参数校验(如Hibernate Validator)
- 防攻击:CSRF/XSS/SQL注入防护
1.2异常能力的处理与监控
- 全局异常处理:统一异常捕获和返回
- 自定义异常:业务异常体系设计
- 错误码规范:统一的错误码和消息
1.3日志监控
- 日志记录:SLF4J+Logback配置
- 日志收集:ELK或类似方案
- 监控端点:Spring Boot Actuator
- 性能监控:Prometheus+Grafana
1.4缓存机制
- 本地缓存:Caffeine/Guava Cache
- 分布式缓存:Redis集成
- 缓存注解:@Cacheable等
1.5消息队列
- 异步处理:RabbitMQ/Kafka/RocketMQ
- 消息可靠性:确认机制和重试策略
1.6文件处理
- 云存储集成
1.7测试能力
- 单元测试:JUnit+Mockito
- 集成测试:TestContainers/SpringBootTest
- API测试:Postman/Swagger测试集
1.8文档支持
- API文档:Swagger/OpenAPI
- 项目文档:README/架构设计文档
1.9部署相关
- 配置管理:多环境配置(dev/test/prod)
- 打包部署:Docker镜像和K8s配置
- CI/CD:Jenkins/GitHub Actions配置
1.10高级功能
- 分布式ID:雪花算法等
- 分布式锁:Redis/Zookeeper实现
- 限流熔断:Sentinel/Resilience4j
- 搜索引擎:Elasticsearch集成
- 定时任务:Quartz/XXL-JOB
2、微服务具备能力
2.1、服务治理核心
服务注册与发现
- 服务注册中心:Eureka、Nacos、Consul、Zookeeper
- 服务发现机制:客户端/服务端发现模式
- 健康检查:定期心跳检测和健康状态上报
服务通信
- REST API:Spring Cloud OpenFeign/RestTemplate
- RPC框架:gRPC/Dubbo
- 消息驱动:Spring Cloud Stream (Kafka/RabbitMQ)
2.2. 配置管理
- 分布式配置中心:Spring Cloud Config/Nacos/Apollo
- 配置动态刷新:@RefreshScope机制
- 多环境支持:dev/test/prod环境隔离
- 配置版本控制:与Git集成
2.3. 服务容错
- 熔断机制:Hystrix/Sentinel/Resilience4j
- 降级策略:Fallback处理方案
- 限流保护:令牌桶/漏桶算法实现
- 负载均衡:Ribbon/Spring Cloud LoadBalancer
2.4. API网关
- 统一入口:Spring Cloud Gateway/Zuul
- 路由转发:动态路由配置
- 权限校验:JWT验证前置
- 请求过滤:认证/限流/日志过滤器
- API聚合:BFF(Backend For Frontend)模式
2.5. 分布式事务
- 事务模式:SAGA/TCC/本地消息表
- 事务协调器:Seata/Narayana
- 最终一致性:消息队列+重试机制
2.6. 链路追踪
- 分布式追踪:Sleuth+Zipkin/SkyWalking
- 调用链分析:TraceID透传
- 性能监控:调用耗时统计
- 日志关联:MDC实现日志串联
2.7. 监控告警
- 指标收集:Micrometer+Prometheus
- 可视化:Grafana仪表盘
- 健康检查:Spring Boot Actuator扩展
- 告警系统:与Alertmanager集成
2.8. 安全体系
- 统一认证:OAuth2/Keycloak
- 服务间认证:mTLS双向认证
- 安全传输:HTTPS/TLS加密
- 权限控制:RBAC/ABAC模型
2.9. 部署与弹性
- 容器化:Docker镜像打包
- 编排工具:Kubernetes/Service Mesh
- 自动扩缩:HPA(Horizontal Pod Autoscaler)
- 优雅下线:服务注销和请求完成处理
2.10. 数据管理
- 数据库隔离:每个服务独立数据库
- 数据同步:CDC(Change Data Capture)
- 缓存策略:分布式缓存一致性
- 分库分表:ShardingSphere/MyCat
2.11. 消息系统
- 事件驱动:Domain Events模式
- 消息可靠性:事务消息/死信队列
- 消息追溯:消息轨迹记录
- 消息积压:消费者限流策略
2.12. 开发支撑
- API契约:Swagger/OpenAPI文档
- 接口Mock:WireMock等工具
- 服务契约:Protobuf/Thrift IDL
- 代码生成:基于契约的客户端生成
2.13. 测试策略
- 契约测试:Pact/Pact-JVM
- 组件测试:TestContainers
- 混沌工程:ChaosBlade等工具
- 性能测试:JMeter/Gatling
2.14. 运维工具
- 日志中心:ELK/Loki
- 配置管理:Ansible/Terraform
- CI/CD流水线:Jenkins/GitLab CI
- 蓝绿部署:流量切换机制