蚂蚁金服 API Gateway Mesh 思考与实践蚂蚁金服 API Gateway Mesh 思考与实践 靳文祥(花名:贾岛) 蚂蚁金服 高级技术专家1/21 /01 /02 /03 API Gateway Mesh 的定义 蚂蚁金服 API Gateway Mesh 实践 云原生 API Gateway 的思考2/21 API Gateway Mesh 的定义 /013/21 LB\Ingress API Gateway POD Sidecar App POD Traffic Control Plane K8S Cluster API Gateway in Service Mesh4/21 API Gateway Service Mesh vs 南北流量(内外) API Gateway vs Service Mesh A infrastructure to decouple the application Service Mesh is Patterns SofaRPC API Gateway MQ Client Service Code6/21 LB\Ingress API Gateway Sidecar App POD Sidecar App POD Traffic Control Plane Cluster API Gateway Mesh An infrastructure0 码力 | 22 页 | 1.72 MB | 6 月前3
Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?• Adapter的运行时资源开销 • 不受Adapter增减/更新/升级影响 • 保持Proxy代码简单 • 保持Proxy代码简单 • 数据平面可替换原则 Kubernete s API Server Adapters ConfigurationsOut-of-process Adapter 7/39 Istio的新回答:架构继续优先,性能继续放一边 Part 1:Serv html)Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Mixer v2 Proposal的核心 Mixer-In-Proxy. Mixer will be rewritten in C++ and directly embedded in Envoy. There will no longer be any stand-alone Mixer service. This will will improve performance and reduce operational complexity. Mixer-In-Proxy/Mixer合并进Proxy。 Mixer 将用C ++重写并直接嵌入到Envoy。 将不再有任何独立的 Mixer 服务。 这将提高性能 并降低运维复杂性。Part 2:ServiceMesh灵魂拷问二:性能有了,架构怎么办? 性能有了,架构怎么办?0 码力 | 43 页 | 2.90 MB | 6 月前3
Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展Protocol Canary deployment Chaos testing User Subscription & SLA Control Plane Programmable API APP ...... Data Plane Control Layer Application Layer通过Service Mesh控制面统一管理F5和Envoy https://aspenmesh subscription & SLA to operation policy Data Plane Protocol Programmable API Data Plane Control Layer 2. APP calls control plane API to create the operation policy 3. Control plane distributes the operation 能否可以成为一个通用的接口协议? 是否会出现Envoy之外的大量数据面实现? • 建议:对xDS接口进行改进,去掉实现相关内容 Ø Service Mesh的发展 • 控制面对数据面软硬件的统一控制能力? • 通过控制面API接入各种丰富的应用场景 - 下一个热点?总体架构-高层视图 DexMesh控制面 MSB-SDClient MSB-Consul Jaeger DexMesh数据面 Pod Microservice0 码力 | 27 页 | 11.99 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路可扩展性有限,dtab不易理解和使用 • 功能不能满足蚂蚁的需求,没法做到 类似envoy xds那样的扩展性 • 未来发展前景黯淡 Envoy • 安心做数据平面, 提供XDS API • 设计优秀,性能和稳定性表现良好 • C++编写,和蚂蚁的技术栈差异大 • 蚂蚁有大量的扩展和定制化需求 • 我们非常认可envoy在数据平面上的表现开源方案选择之第二代Service Mesh Istio 去掉Mixer和Auth • 定制Pilot,实现ETCD Adapter • 脱离k8s运行Sofa Mesh在技术选型时考虑 Envoy • 数据平面:Envoy最符合要求 • XDS API的设计更是令人称道 • C++带来的技术栈选择问题 • 我们有太多的扩展和定制 • 而且,proxy不仅仅用于mesh Istio • 控制平面:Istio是目前做的最好的 • 认可Istio的设计理念和产品方向 Architect2Golang版Sidecar Pilot Auth Golang Sidecar Mixer XDS API Mixer Service HTTP/1.1 HTTP/2 Sofa RPC ü 参照Envoy的设计 ü 实现XDS API ü 兼容Istio ü 支持HTTP/1.1和HTTP/2 ü 扩展Sofa/Dubbo/HSF Dubbo RPC0 码力 | 37 页 | 7.99 MB | 6 月前3
Service Mesh的实践分享JavaApp Local Proxy OSP Server Service Registry Service Config Center Remote Proxy Cluster API Gateway 备用链路 服务发现 服务注册 配置下发 服务路由 网络传输 OSP client多语言客户端接入 • HTTP & TCP • Local & Remote • 根据接入对象的不同,制定 保证性能 • 节省资源 Java App Local Proxy OSP Server Remote Proxy Cluster Thrift over TCP PHP App C/C++/Node JS App Thrift over TCP Thrift over TCP JSON over HTTP JSON over HTTP多语言服务端接入 • Registry sidecar • 注册代理 • 健康检查 • 服务端受限于Proxy支持的协 议(目前只支持HTTP 1.1) Local Proxy Web Server Service Registry API Gateway 健康检查 服务注册 Registry agent 服务发现 HTTP/JSON HTTP/JSON容器化 • Proxy Daemonset • 每台宿主机一台Proxy0 码力 | 30 页 | 4.80 MB | 6 月前3
Service Mesh结合容器云平台的思考和实践• 流量管理 • 服务降级 • … • 微服务拆分原则 • 业务API设计 • 数据一致性保证 • 可扩展性考虑 • …Kubernetes对于微服务的支撑 功能列表 详情 快速资源分配 容器编排和调度 服务部署&弹性伸缩 Deployment 服务注册&服务发现 Service概念和分布式DNS API网关 简单路由功能 统一日志中心 Fluentd & ES 统一监控中心 Prometheus 统一配置管理 Configmap、Secret 负载均衡 简单负载均衡,基于Iptables Roundrobin 流量控制 简单根据服务实例进行控制云平台微服务演进之基于API网关的微服务方案 API网关功能增强 • 安全认证 • 流量控制 • 审计日志 • 黑白名单 • …K8S集群 云平台微服务演进之基于Spring Cloud的微服务方案 NS A Service Healing Resilience & Fault Tolerance Distributed Tracing Centralized Metrics Centralized Logging API Gateway Job Management Singleton Application Load Balancing Service Discovery Configuration Management0 码力 | 28 页 | 3.09 MB | 6 月前3
蚂蚁金服Service Mesh渐进式迁移方案DNS寻址方案的演进 DNS寻址方案的后续规划保证迁移前后服务间网络互通 Service A Service B Service C SOFA Registry 服务注册 服务调用 服务发现 Non-k8s k8s Service A Service B Service C SOFA Registry Non-k8s k8s 192.168.1.102:12220 192.168.1.103:12220 168.1.104:12220 instances:[”192.168.1.104:12220”] SOFA Registry CoreDNS RPC Controller Kube API server Discovery services renew RPC services Watch services renew RPC DNS b.svc -> 10.0.3.100 指向ClusterIPSOFAMesh 的DNS寻址方案的实现细节 POD APP Register Agent RPC Service Controller CoreDNS Kube API Server Pilot Discovery SOFA MOSN Get Service Info Get Service Info Watch RPC Service Watch0 码力 | 40 页 | 11.13 MB | 6 月前3
蚂蚁金服双十一 Service Mesh 超大规模落地揭秘基础架构和业务研发的耦合,以及未来无限的对业务透明的稳定性与高可用相关诉求。 为什么要 Service Mesh-结论9 为什么要 ServiceMesh-结论-方案 应用A 应用 应用B 应用C 应用D 应用E SOA 解耦了不同的业务团队之前的耦合 服务注册中心客户端 限流熔断客户端 动态配置客户端 故障注入客户端 Service Mesh 解耦了业务开发与基础团队之前的耦合 3问App 容器 14 方案落地-框架升级前 应用代码 SOFABoot SOFABoot/SOFARPC API JVM SOFABoot 研发框架App 容器 15 方案落地-框架升级后 应用代码 SOFABoot_Old SOFABoot/SOFARPC API SOFABoot_New JVM RPC 检测 pod 变量,注 入启动参数 判断开启了 MOSN 发布和订阅服务 Pod New With MOSN Pod New With MOSN 扩容 缩容 资源 Buffer Pod APP:4C8G Pod APP:4C8G MOSN:4C2G Operator 注入 传统接入 VS 原地接入 4C2G? Elastic Heap CPU超卖17 方案落地-MOSN 升级策略-有感升级 MOSN V1 APP MOSN0 码力 | 26 页 | 2.71 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘金融级鉴权体系 • 云原生zero trust网络安全趋势 Ø异构语言体系融合 • SOFA/NodeJS/C++/Python/.. • 业务低成本融入服务,运维体系为什么要自研Golang版本ServiceMesh 2 Ø跨团队协作需要考虑技术栈落地成本 ü 参与团队分别使用C,Golang,Java等多种技术栈 Ø基于蚂蚁SOFA体系的Mesh化思考 ü 无法保证上下游应用同时升级到Mesh模式 Stream Event Handler Pool worker worker Worke r data Log Writer Pool send encode Q u e u e C模块划分 11要点总结 12 Ø模块化,分层解耦 Ø统一的编程模型接口 Ø可扩展的事件驱动模型 Ø可扩展的路由/后端管理机制 Ø更好的吞吐量3 能力核心能力 1 网络处理 •网络编程接口 Downstream / Upstream 协议配置 ØSOFARPC 支持 Upstream 反向请求Istio集成 3 Ø支持 Istio 0.8 版本 Pilot V4 API ü支持xDS on ADS Ø支持全动态配置启动运行 Ø支持API核心功能点,不断完善中扩展机制 4 • 网络层扩展 • 事件订阅 • 自定义filter • 协议层处理扩展 • 事件订阅 • 自定义filter • TCP层自定义私有协议0 码力 | 44 页 | 4.51 MB | 6 月前3
微博Service Mesh实践微博Service Mesh实践 - WeiboMesh �5 RPC A WEB A 平台体系 RPC B WEB B Golang 服务 PHP 服务 OR服务 …… RestFul API 业务部⻔门 Motan ➢ 业务部⻔门语⾔言种类繁多 ➢ 微服务体系建设不不完善/重复 ➢ ⽹网络抖动,dns不不稳定 ➢ 4,7层冗⻓长调⽤用链及资源消耗 4,7层调度Service Meetup · BeiJing Service Mesh与微服务的切分 �13 微博Service Mesh实践 - WeiboMesh Service A Service B Service C 微服务 Weibo MeshWeibo Mesh⽅方案介绍Service Mesh Meetup · BeiJing Weibo Mesh 总体架构 �15 微博Service Mesh实践 VS ⾮非云 WM Consul、ZK、Vintage WM Envoy Pilot Envoy K8s、Mesos、Eureka Register Register Envoy API AdapterService Mesh Meetup · BeiJing 和Istio在业务感知上的区别 �39 微博Service Mesh实践 - WeiboMesh 服务透明 VS0 码力 | 43 页 | 1007.85 KB | 6 月前3
共 28 条
- 1
- 2
- 3













