严选 ServiceMesh 实践• 数据面:cNginx • 控制面:Consul 管理后台5/24 服务治理能力 – 基于严选第一代ServiceMesh(cNginx) 类型 功能 能力提供方 服务调用方(Client) 服务提供方(Server) 服务注册与发现 注册发现:基于 Consul √ 调用控制 协议支持:HTTP 1.X/2.X,可扩展至 TCP √ 路由控制:提供简单的路由能力 √ 负载均衡:支持 Hash 等 √ 流量复制:不提供 × 故障转移:继承 Nginx 的 Failover 机制 √ 安全 访问控制:主要依靠中间件 × 中间件 治理控制 熔断降级:主要依靠中间件 中间件 限流:速率限制 √ 中间件 资源隔离:主要依靠中间件 中间件 故障注入:不提供 × 超时控制、重试、重写、重定向等:继承 Nginx 的 timeout 机制 √ 监控/故障诊断 链路追踪:主要依靠中间件 链路追踪:主要依靠中间件 APM APM 性能监控:主要依靠中间件 APM APM 遥感数据:主要依靠中间件 APM APM 访问日志:主要依靠日志平台 日志平台 日志平台6/24 Service Mesh 为严选带来了哪些架构收益 • 历史包袱:现有的服务在不改造的情况下引入了服务治理能力 • 大大降低了中间件的研发投入和演进成本,也降低了业务和中间件的耦合成本 • 基础架构与业务架构可以独立演进0 码力 | 25 页 | 2.07 MB | 6 月前3
Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展在实践中,服务网格通常实 现为一组轻量级网络代理,它们与应用程 序一起部署,但对应用程序透明。什么是Service Mesh?- by Istio 服务发现 负载均衡 流量控制 ... 黑白名单 限流 ... 身份认证 通信加密 权限控制 ... 调用追踪 指标收集 ...什么是Service Mesh?- 从网络的视角 Service Mesh关注点 网络视角: Service Mesh是一个主 Control Plane Programmable API APP ...... Data Plane Control Layer Application Layer通过Service Mesh控制面统一管理F5和Envoy https://aspenmesh.io/2019/03/expanding-service-mesh-without-envoy/ Control Plane Security 解决类似的问题:运维和通信的问题 • 相似的解决方案:数据面+控制面+应用 • 不同的协议层次:SDN 2-4层,Service Mesh 主要为7层 SDN对Service Mesh发展的启发: Ø 北向接口 • 面向业务和运维 • 具有较高的抽象层次,比较容易提取统一的控制面标准? • 主要面向layer 7及以上? • SMI能否统一控制面标准?如何避免成为最小公分母,扩展支持其它协议?0 码力 | 27 页 | 11.99 MB | 6 月前3
Service Mesh结合容器云平台的思考和实践在讨论微服务的时候我们在讨论什么? • 解决如何微服务的问题 • 解决微服务化后带来的问题 温饱问题 • 计算资源的快速分配 • 基本的监控 • 快速部署 • 易于分配的存储 • 易于访问的外围(负载均衡) • 服务注册和发现 致富问题 • 认证和授权 • 智能路由 • 流量管理 • 服务降级 • … • 微服务拆分原则 • 业务API设计 • 数据一致性保证 • Prometheus 统一配置管理 Configmap、Secret 负载均衡 简单负载均衡,基于Iptables Roundrobin 流量控制 简单根据服务实例进行控制云平台微服务演进之基于API网关的微服务方案 API网关功能增强 • 安全认证 • 流量控制 • 审计日志 • 黑白名单 • …K8S集群 云平台微服务演进之基于Spring Cloud的微服务方案 NS A Service 智能路由(灰度、蓝绿) • 流量管理(超时、重试、熔断) • 故障处理 • 故障注入 • … Mixer • 前提条件检查:安全认证,黑白名单, ACL检查 • 限流管理 • 遥测报告:日志监控 控制平面 数据平面 Istio-Auth • 服务间认证 • 终端用户认证Istio的核心组件 • Envoy 是一个高性能轻量级代理,它掌控了service的入口流量和出口流量,它提供了很多内置功能,如动态负0 码力 | 28 页 | 3.09 MB | 6 月前3
Service Mesh Meetup #3 深圳站及通常更加复杂的运维需求,例如 A/B 测试、金丝雀发布、限流、 访问控制和端到端认证等。什么是 Istio • Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有 负载均衡、服务间认证、监控等功能,而不需要对服务的代码做任 何改动。 • 想要让服务支持 Istio,只需要在您的环境中部署一个特殊的 sidecar 代理,使用 Istio 控制平面功能配置和管理代理,拦截微服务之间的 所有网络通信。Istio 所有网络通信。Istio 的特点 • HTTP、gRPC、WebSocket 和 TCP 流量的自动负载均衡。 • 通过丰富的路由规则、重试、故障转移和故障注入,可以对流量行 为进行细粒度控制。 • 可插入的策略层和配置 API,支持访问控制、速率限制和配额。 • 对出入集群入口和出口中所有流量的自动度量指标、日志记录和跟 踪。 • 通过强大的基于身份的验证和授权,在集群中实现安全的服务间通 信。坑 •0 码力 | 45 页 | 18.62 MB | 6 月前3
蚂蚁金服Service Mesh渐进式迁移方案Service Mesh演进路线 1 2 实现平滑迁移的关键 3 DNS寻址方案的演进 4 5 总结 DNS寻址方案的后续规划ü 对未来长期目标的认可 • Service Mesh(带控制平面,如Istio) • Kubernetes • 微服务 ü 现实中有很多挑战 • 还有很多应用没有实现微服务化 • 还有很多应用没有运行在kubernetes之上 • Istio目前还不够稳定,也无法原生支持我们的规模 Resiliency 操作 弹性 符合远期规划 • 不走弯路,不浪费投资 • 每一步都为下一步奠定基础 • 谢绝中途推倒重来 循序渐进 • 不要有一步登天的幻想,小步快跑 • 每一步的工作量和复杂度都控制在可 接受范围内 • 每一步都简单方便,切实可行 可操纵性 • 操作层面上要有足够的弹性 • 每个步骤都是可分批进行 • 步步为营,扩大战果 • 杜绝一刀切k8s和Service Mesh落地方案演进路线 1 2 2 2 3 4 4 4 比较理想,绝大部分 投入最终都将保留 Service Mesh (Sidecar模式) Service Mesh (Istio模式) 带完善的控制 平面,如Istio 只有Sidecar, 直接集成周边 不现实 Istio的非k8s支 持投入产出比 太差 背景1:原生Istio无法支撑我们的规模 背景2:k8s(Sigma3.1)将加快普及0 码力 | 40 页 | 11.13 MB | 6 月前3
Service Mesh 在蚂蚁金服生产级安全实践通过K8s的RBAC方式控制访问权限 拓展Citadel Watch 密钥相关的CR,筛选后 下发至对应的Citadel Agent节点 安全Sidecar 与 Citadel Agent 采用基于UDS 通信的Grpc服务获取密钥等敏感信息Service Mesh Sidecar 的TLS 生产级落地实践 TLS 实践难点 证书管理 开关切换 灰度控制 SDS 证书管理方案 通信场景下,为保证平滑无损的TLS切换能力,需 要分别控制 Server (Provider) 和 Client (Consumer)端的 TLS 行为 对于Server 端利用Istio 的Policy CRD 实现 Namespace + Service 粒度的开关控制 对于Client 端理想情况下,希望是通过Istio 的 DestinationRule 和 VirtualService 来控制。但由于相 关条件尚未具备,因此通过现有注册中心来控制 关条件尚未具备,因此通过现有注册中心来控制 Client TLS 能力Service Mesh Sidecar 的TLS 生产级落地实践Service Mesh Sidecar 的TLS 生产级落地实践 灰度控制 新功能总是离不开灰度过程,社区已有的Policy CRD 实现 Namespace + Service 的灰度能力不能满足 蚂蚁金服生产落地的要求,需要具备单机灰度、回滚能力。 借鉴社区0 码力 | 19 页 | 808.60 KB | 6 月前3
Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?Traffic Director 支持虚拟机,而且可以 虚拟机和容器相互访问 Linkerd 1.* 天然支持 Envoy 天然支持 Istio 开始准备支持,后 来实质性取消,基 本只有k8s好用 Linkerd 2.0 只支持k8s AWS app mesh 支持虚拟机,而且 可以虚拟机和容器 相互访问 ServiceMesh主流产品对虚拟机的支持情况Part 3:Se 支持虚拟机? Traffic Director:效仿k8s/Istio的方式来管理服务 k8s service Google Traffic Director 服务 服务定义 通过 k8s 在控制台手工创建 创建服务 通过k8s自动注册 手工关联服务和托管实例组 服务注册 k8s进行健康检查 通过托管式实例组配置健康检查 健康检查 通过Istio支持 通过托管式实例组支持 灰度发布 流量劫持+ 4:ServiceMesh灵魂拷问四:说好的供应商不锁定呢? 说好的供应商不锁定呢? @Google:SMI带来的美好愿景 Part 4:ServiceMesh灵魂拷问四:说好的供应商不锁定呢? 应用 控制平面 数据平面 最终用户体验 工具 生态体系 Service Mesh Interface Universal Data Plane API “SMI 是在 Kubernetes 上运行服务网格的规0 码力 | 43 页 | 2.90 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路可扩展和可定制化是必备的 可 控 性 社 区 支 持 技术输出 内部落地 如何让开源产品接受我们的改动? 如何让社区和客户认可我们的产品?开源方案选择之第一代Service Mesh Linkerd • 无控制平面 • Scala编写,基于JVM资源消耗大 • 可扩展性有限,dtab不易理解和使用 • 功能不能满足蚂蚁的需求,没法做到 类似envoy xds那样的扩展性 • 未来发展前景黯淡 Envoy 公司和产品在社区知名度和影响力有限国内公司的选择之一:自研 华为:CES Mesher • 使用Golang编写 • 由go chassis演进而来 • 走的是已有类库->加proxy->再加 控制平面的路线 • 部分对接Istio • 细节暂时不清楚,即将开源 新浪微博:Motan Mesh • 也是使用Golang编写 • 全新实现(原有类库是基于Java) 老成持重的稳健思路:以proxy为切入口,第 这个产品思路唯一的麻烦在于编程语言的选择国内公司的选择之二:开源方案定制 腾讯:Tencent Service Mesh • 数据平面选择Envoy:成熟产品,符合 腾讯语言体系,内部广泛使用 • 控制平面据传“挣扎了一下”,最终还 是选择Istio,进行定制和扩展,解耦k8s国内公司的选择之三:另辟蹊径 UCloud:Service Mesh • 非常有意思的轻量ServiceMesh实践0 码力 | 37 页 | 7.99 MB | 6 月前3
Service Mesh 在『路口』的产品思考与实践图片来源:https://www.redhat.com/en/topics/microservices/what-is-a-service-mesh 流量控制、监控8/39 金融级网络安全 Part 1: 为什么需要Service Mesh? 身份标识/访问控制 Service (client) Sidecar Sidecar Service (server) mTLS 服务鉴权 蚂蚁金服的产品实践 SOFAStack 双模微服务平台 DB Advisor Pod Spring Cloud 应用 SOFAMosn SOFA 服务注册中心 Service Mesh 控制平面 Galley Citadel Inspector Pilot 双模微服务 = 传统微服务 + Service Mesh 双剑合璧 服务路由 服务限流 服务拓扑 实时监控 降低资源成本,提升开发效率,享受生态红利 • 云原生不是目的,而是手段 拥抱云原生Part 3: 展望未来 和 istio 社区共建, 融合控制平面和传统注册中心/配置中心,加强 Pilot 的能力 APP SDK 各种注册中心 Galley Nacos 控制平面 (Pilot) MCP MCP SOFARegistry MCP APP Sidecar xDS/UDPA0 码力 | 40 页 | 15.86 MB | 6 月前3
蚂蚁金服网络代理演进之路Internet网络代理有什么? Maglev Ipvs Katran GFE BFE TGW Nginx Apache httpd SOFAMosn Envoy Linkerd网络的挑战网络的挑战 高效接入 访问加速 容量 稳定性 高可用 灵活弹性 安全合规 防攻击蚂蚁金服网络接入十年变迁 2010年前部署商用设备 前世 01 2010 开始网络代理白盒 化,定制业务逻辑,软 硬件一体解决方案 (Ant Global Network Accelarator) 网商 信用 保险 财富 支付 国际支付 小程序 微贷 科技开放 物联网 Spanner LVS(四层负载) DNS 网络控制面 LDC1 Spanner Spanner APP APP APP APP Keycenter HTTP1 TLS1.2 MMTP Mtls MQTT HTTP2 TLS1.3 QUIC Mesh 控制面 Galley Inspector Citadel Pilot Pod Dubbo 应用 SOFAMosn Pod SOFA 应用 SOFAMosn KMI Pod SOFA 应用 SOFAMosn Sigma TLS,国密 服务鉴权 流量控制 镜像中心 流量镜像 流量镜像 TLS,国密 服务鉴权 流量控制 TLS,国密 服务鉴权 流量控制蚂蚁金服率先大规模落地SOFAMesh0 码力 | 46 页 | 19.93 MB | 6 月前3
共 25 条
- 1
- 2
- 3













