雷飞尉 多地域服务网格设计与多环境基础架构实践

文字内容
1. 多地域服务网格与多环境基础架构 同程艺龙基础架构部 雷飞尉
4. 目录 • 服务网格简介 • 跨地域服务发现 • 多环境负载均衡 • 多环境流量路由•泳道发布 • 后续方向
5. 服务网格简介
6. 首先是微服务时代的一种现象
7. 也是一种技术方案的名字
8. 典型服务网格方案: ISTIO
9. 服务网格的功能 • 服务发现 • 负载均衡 • 流量路由 • • • • • 同地域优先 最低版本限制 Canary deployment ABtest …
10. 跨地域服务发现
11. 服务发现 discovery service in s n ta en dp oi nt s m e r ste gi re ch ca lle e k ec ca se llee rv ice na ce h a lt he caller sidecar caller service instance request response callee sidecar callee service instance
12. 单点问题 discovery service etcd slave etcd slave in s n ta m e en dp oi nt s r ste gi re ch k ec ca lle e ca se llee rv ice na ce h a lt he etcd master caller sidecar caller service instance request response callee sidecar callee service instance discovery service
13. 水平扩展 etcd slave etcd slave discovery service etcd master health check health check health check sidecar sidecar sidecar sidecar sidecar sidecar sidecar service instance service instance service instance service instance service instance service instance service instance
14. 跨地域 etcd slave etcd slave etcd slave etcd master sync service instance etcd master health check health check sidecar sidecar service instance etcd slave health check health check sidecar sidecar sidecar service instance service instance service instance sidecar service instance sidecar sidecar service instance service instance
15. 跨地域解析效果 BJ集群 SZ集群 ETCD MDB MDB QueryAPI ServiceA.BJ.idc1 QueryçAPI QueryAPI ServiceB.SZ.idc1 ETCD MDB MDB QueryAPI QueryçAPI QueryAPI ServiceC.SZ.idc1
16. 多环境负载均衡
17. 负载均衡 discover y service oi nt s en dp h k ec ch ca lle e ca se llee rv ice na m e e nc ta er ins gist re alt he caller service instance caller sidecar caller service instance caller sidecar request request callee sidecar callee service instance callee sidecar callee service instance callee sidecar callee service instance callee sidecar callee service instance
18. 多环境负载均衡 discover y service caller sidecar oi nt s en dp k ec ch ca lle e h ca se llee rv ice na m e e nc ta er ins gist re alt he caller service instance request callee sidecar callee service instance Environment A caller service instance caller sidecar callee sidecar callee service instance callee sidecar callee service instance request Environment B callee sidecar callee service instance
19. 应用效果 • 按机房划分环境 • 按需建立自定义环境, 以供canary deployment使用
20. 多环境流量路由•泳道发布
21. 典型泳道发布方案 N G I N X A.idc1 B.idc1 C.idc1 D.idc1 F.idc1 A.stage B.stage C.stage D.stage F.stage
22. 能否通过流量路由进行泳道发布? N G I N X A.idc1 B.idc1 C.idc1 D.idc1 F.idc1 D.stage F.stage ? A.stage
23. 多环境流量路由方案 N G I N X A.idc1 B.idc1 C.idc1 D.idc1 F.idc1 JAVA AGENT JAVA AGENT JAVA AGENT JAVA AGENT JAVA AGENT A.stage D.stage F.stage JAVA AGENT JAVA AGENT JAVA AGENT ENV-ROUTES: A:stage, D:stage, F:stage
24. 应用收益 • 降低资源成本 • 降低配置成本 • 降低沟通成本
25. 后续演进
26. 后续演进: 消息队列、数据库的泳道 N G I N X A.idc1 B.idc1 A.idc1 prod prod stage stage stage test test test prod A.stage B.stage MQ B.idc1 A.stage B.stage
27. 后续演进: 融合istio ETCD MDB QueryAPI MDB QueryAPI QueryAPI Pilot Pilot Pilot
30. Q&A