微服务的技术架构
以下是我们实际工作中微服务和 BFF 前端服务集群的架构图,其中省略了很多细节和敏感信息。相关 URL 都使用了我自己的域名。
这套架构服务从一开始在自己数据中心,然后也同样应用到了基于 AWS ECS。
未来的演化,可以升级到 K8S,然后优化路由部分和服务直接调用部分。或者使用 service mesh。
一个基本完备的 基于 kubernetes 实现的POC。 https://github.com/zizifn/k8s-poc
架构图
域名和 CDN 策略
共有域名
私有域名
CDN
CDN bypass when CDN is down
网络隔离
需要公司基础架构中支持
https://github.com/sergiomarotco/Network-segmentation-cheat-sheet
VPC 划分
DMZ VPC
APP VPC
APP 之间的通信
APP 路由策略
Proxy
failover 策略
Top level failover
App level failover
监控
服务的监控 Open tracing
全链路业务 log
如何确保业务部门 APP 可控
基于 docker 仓库以及 image tag 进行如下管理,
- 静态代码扫描
- 性能测试通过
- 上线前的 ticket
- 自动通过可控工具部署到生产环境
- 检测 image 是否具体上线条件,可控,可回查