SolarMesh 基于Istio构建的流量监管平台Ø 难以全面测试 Ø 多服务联动时问题难以察觉 Ø ... 服务间通信的复杂性: Ø 网络延迟 Ø 消息序列化 Ø 不可靠的网络 Ø 异步机制 Ø ... 开发难 排错难 测试难 运维难 Ø 服务变得非常多 Ø 版本变得非常复杂 Ø 上线十分痛苦 Ø 排查问题更难 Ø 解决手段更复杂 Ø 学的东西更多 Copyright © 2021 Cloud To Go 为什么我们需要服务网格 测试方法发生了改变 Ø 有些问题只能在集群内出 现,难以测试 Ø ... 测试难 运维难 Ø 学习k8s成高 Ø 缺少好用的工具 Ø ... 排错难 Copyright © 2021 Cloud To Go 为什么我们需要服务网格 - 微服务+k8s Kubernetes上 应用的网络问题 困扰开发、测试、运维最突出的问题: Copyright © 2021 Cloud To Go 挑个良辰吉日分配流量,宣布更新 Copyright © 2021 Cloud To Go 应用场景 - 异地容灾 通过智能路由实现异地容灾 在SolarMesh中,只需要声明哪些 集群是属于同一个mesh,借助istio 的智能路由能力,同名service将会 获得多集群容灾的能力 流量将会按照策略智能分配到正常 的工作负载上 Copyright © 2021 Cloud To Go SolarMesh的架构设计0 码力 | 20 页 | 1.29 MB | 1 年前3
百度APP基于Istio实现基础架构升级 - lightning talk - MichaelXu百度APP基于Istio实现 基础架构升级 许超 #IstioCon 背景 l 核心业务线已完成微服务改造,数万个微服务对架构服务治理能力提出了更高的要求。 l 高级架构能力能否多语言、多框架支持? l 运维架构能力是否具备可移植性?是否能低成本复制新的产品线? l 可观测性不足,是否有通用机制提升产品线可观测性? Ø 部分模块上下游超时配置不合理,超时倒挂,集中管理调整成本比较高。 Ø 多数模块对 长。 Ø 因重试导致雪崩,底层RPC框架需要重复建设来定制动态熔断能力。 Ø 升级一级服务建设中,发现很多模块单点、多点故障不能容忍,能否低成本解决? Ø 比如常用运维降级、止损能力各个产品线重复建设,方案差异大,OP期望运维能力在不同产品线之间能够通用化, 集中化管理,甚至做到自动决策 Ø 精细故障能力(异常query、注入延迟等)期望能够标准化、低成本跨产品线复制 Ø 百度APP架构 应IP,会cache数据,需要即时更新。 Ø envoy离线或者被干预则立即通知bns-agent, fallback会使用原有治理策略。 #IstioCon 架构介绍 Ø Mesh控制中心: ü 运维中心:基于Mesh的统一运维操作中心。 ü 配置中心:维护模块上下游拓扑,管理路由配 置、通信策略。 ü 上线中心:管理Mesh组件版本,统一上线入口。 l 核心组件 Ø 控制面板:Istio-Pilot组件,路由管理、通信0 码力 | 9 页 | 2.20 MB | 1 年前3
Envoy原理介绍及线上问题踩坑专门用于处理HTTP请求的网络过滤器,根据协议类型 处理HTTP编解码并调用L7层HTTP过滤器。 envoy.filters.http.lua L7 HTTP过滤器 基于Lua脚本语言,处理HTTP请求及相应,每个Lua运 行时运行在工作线程中。 envoy.filters.http.local_ratelimit L7 HTTP过滤器 基于L4层请求限流,通过令牌桶防止定期时间间隔内 过多下游请求 envoy.filters APP APP APP ECS(弹性云主 机) BMS(裸金属 服务器) • 华为云CCE容器引擎已深度集成Istio 一键启用,与容器引擎无缝整合 内置金丝雀、A/B测试等灰度发布流程 智能路由与流量管理 全面治理 开箱即用 全景应用拓扑,可视化治理 Copyright © Huawei Technologies Co., Ltd. All rights reserved. Page 灰度版本一键部署,流量切换一键生效 配置式灰度策略,支持流量比例、请求内容 (Cookie、OS、浏览器等)、源IP 一站式健康、性能、流量监控,实现灰度发布过程 量化、智能化、可视化 • 策略化的智能路由与弹性流量管理 无侵入智能流量管理: 权重、内容等路由规则,实现应用灵活灰度发布 HTTP会话保持,满足业务处理持续性诉求 限流、熔断,实现服务间链路稳定、可靠 服务安全认证:认证、鉴权、审计等,提供服务0 码力 | 30 页 | 2.67 MB | 1 年前3
Istio + MOSN 在 Dubbo 场景下的探索之路注册和发现 • 容错和限流 特点 • 独立部署 • 强化模块边界 • 技术多样性5/23 Service Mesh 优点 • 统一的服务治理 • 服务治理和业务逻辑解藕 缺点 • 增加运维复杂度 • 延时 • 需要更多技术栈6/23 探索 Istio 技术点 /02 了解 Istio 技术点7/23 MCP MCP(Mesh Configuration Protocol)提供了一套用于订阅、推送的 https://github.com/istio/istio12/23 MOSN MOSN 是一款使用 Go 语言开发的网络代理软件,作为云原生的网络数据平面,旨在为服务提供 多协议、模块化、智能化、安全的代理能力。MOSN 是 Modular Open Smart Network 的简称。 MOSN 可以与任何支持 xDS API 的 Service Mesh 集成,亦可以作为独立的四、七层负载均衡,0 码力 | 25 页 | 3.71 MB | 6 月前3
探讨和实践基于Istio的微服务治理事件监控Service Mesh Meetup #4 上海站 探讨和实践基于Istio的微服务治理事件监控 2018.11.25 徐运元关于我 2008年毕业于浙江大学,曾在思科和浙大网新有超过 9年的工作经验和5年的云计算领域工作经验,带领团 队完成公司第一代基于Kubernetes的云平台开发和第 二代基于Kubernetes的DevOps云平台开发。目前致力 于公司基于Istio的微服务平台打造。 Mixer组件的功能介绍 基于Mixer的开发流程和实例微服务平台的监控演进典型的运维场景 传统的监控面临容器化和微服务化的困境 测试运维沟通鸿沟,如何提升沟通效率 监控工具繁杂,如何快速找到合适工具进行问题定位 偶发性问题场景复杂,如何保留发生现场 如何在错综复杂的未服用调用链路中找到错误源头监控场景转换 帮助运维人员快速的定位问题,解决问题 基于容器化和微服务化的监 控场景 • 应用规模巨大 包括CPU、内存、网络、I/O读写 等信息 业务总体展示 展示当前业务相关数据的 从宏观上快速定位问题,在微观上找到问题根因的 监控方案问题二:现有的系统能否完全满足需求 现有系统如何满足运维需求Istio现有的监控体系 指标监控 分布式追踪 日志系统Zipkin的架构图 Google Dapper Zipkin的实现EFK和Prometheus的架构图 DC1 DMZ Intranet0 码力 | 29 页 | 8.37 MB | 6 月前3
Kubernetes容器应用基于Istio的灰度发布实践Pod2 Labels:app=svcb Port:9379 svca 基础设施(Kubernetes)看Istio: 能力增强 服务部署运 维 服务治理 • 调用链追踪 • 动态路由 • 熔断限流 • 负载均衡 • 服务发现 • 扩缩容 • 运维 • 部署 Kubernetes Istio Istio治理的不只是微服务,只要有访问的服务,都可以被治理。 Istio关键能力 流量管理 "uri": { "prefix": "/catalog1" } }, 一个典型的VirtualService Istio在华为云:Kubernetes全栈容器服务 应用运维管理 丰富可定制的容器应用立体化运维 容器镜像服务 容器镜像一站式构建、存储与交付 应用编排服务 应用云上自动化编排与设施管理 云容器实例 基于K8S的Serverless容器服务 云容器引擎 企业级高可靠、高性能K8S服务0 码力 | 38 页 | 14.93 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Pod2 Labels:app=svcb Port:9379 svca8 基础设施(Kubernetes)看Istio: 能力增强 服务部署运 维 服务治理 • 调用链追踪 • 动态路由 • 熔断限流 • 负载均衡 • 服务发现 • 扩缩容 • 运维 • 部署 Kubernetes Istio9 Istio治理的不只是微服务,只要有访问的服务,都可以被治理。10 Istio关键能力 "uri": { "prefix": "/catalog1" } }, 一个典型的VirtualService27 Istio在华为云:Kubernetes全栈容器服务 应用运维管理 丰富可定制的容器应用立体化运维 容器镜像服务 容器镜像一站式构建、存储与交付 应用编排服务 应用云上自动化编排与设施管理 云容器实例 基于K8S的Serverless容器服务 云容器引擎 企业级高可靠、高性能K8S服务0 码力 | 34 页 | 2.64 MB | 6 月前3
全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量(Traffic Management, Security, Observability) #IstioCon What Do We Expect From a Service Mesh? 为了将基础设施的运维管理从应用代码中剥离,我们需要七层的流量管 理能力: ● Routing based on layer-7 header ○ Load balancing at requet level ○ HTTP ● 客户端发起请求时通过一个“batchjob” header标明请求的来源 ,batchjob=true表示该请求来自于批处理任务;batchjob=false表示该 请求来自于用户请求。 ● 运维人员设置请求路由规则,将不同来源的请求路由到不同的服务实例 组进行处理。 #IstioCon Aeraki Demo: 用户请求和批处理任务隔离(Dubbo) 1. 在 dubbo: application 中支持一个七层协议的工作量较大: ○ 数据面:编写一个 Envoy filter 插件——流量管理(RDS、 负载均衡、熔断、流量镜像、故障注入等)、编解码 ○ 控制面:编写一个 Aeraki 插件——运维/流量管理策略 ● 非 HTTP 协议缺少 RDS 支持: ○ Listener 内嵌路由 ○ 修改内嵌路由后,Envoy 会重建 listener,导致业务出现短 暂中断。 #IstioCon0 码力 | 29 页 | 2.11 MB | 1 年前3
Istio 在 Free Wheel 微服务中的实践决策容量是否足够 Mixer or Sidecar,这是一个问题 • Mixer提供了一种非常灵活的模型,让Handler可以在流量中动态的选 择一部分来引入额外的机制(如权限控制、限流等),在应用运维中 这是很重要的能力,只要是不修改请求、响应的功能都可以采用扩展 Mixer来实现 • Sidecar里接入额外的反向代理其实提供了一个修改请求、响应的接口 ,如认证之后需要将用户信息通过header传给下游服务 FreeWheel的Istio实践 • 未来工作 • FreeWheel的痛点 未来工作 • Service Contract: 封装Istio以及平台层的其他配置的复杂度,抽象出 一个安全、高效的应用运维体系 • Chaos Testing:解决复杂的微服务系统的持续运营和风险控制问题0 码力 | 31 页 | 4.21 MB | 1 年前3
IstioMeetupChina 服务网格热升级技术分享do we need Hot-Upgrade for ServiceMesh Data-Plane • 只替换/重启Sidecar • 替换/重启过程中进/出不会出现请求失败,连接失败 • 易于运维,可以控制升级策略 理想的Sidecar升级 4 • 为什么需要服务网格数据面热升级 • 实现热升级 • 实践热升级 目录 Catalog 5 • Envoy热重启 • 以Epoch0 码力 | 14 页 | 2.25 MB | 1 年前3
共 10 条
- 1













