在网格的边缘试探:企业 Istio 试水指南客户充满 Love • 开发需求保持 PeaceIstio能做什么? • 几乎全部功能都无需侵入 • 监控服务质量 • 控制服务间的访问路由 • 跟踪服务链路 • 应对服务故障 • 在服务间通信之间进行加密 • 访问控制和频率限制 • …Istio目前的突出问题 • API稳定性问题:流量管理也仅仅是v1alpha3,用alpha特性发布 1.0的情况似乎比较罕见。 • 发布进度和质量:大版本以月计算的发布延迟,据我所知的 有完善的性能、功能测试方案。禁则 �������� ����� ����制定目标 • 集群环境申请:版本、开关、资源等。 • 功能性需求:本次试用中Istio需要提供的功能,再次强调:No Freestyle • 非功能需求:并发、成功率、响应时间等服务质量参数。 • 故障处理需求:故障预案。 • 影响范围分析。 • 选定测试版本:研读开放Issue以及Release Notes。测试方案部署 • 试用服务部署 • 服务YAML复查 • 缺省路由设置 • 根据功能需求,编写和部署 Istio相关功能YAML • 监控和告警部署 • 连接Alertmanager/… • 指标输出方案测试 • 根据性能和功能测试方案完成测试。 • 如果性能下滑,可以尝试扩张资源。 • 如果无法达成测试目标,建议取消——无侵入的好处就是可以撤 退。 • 评估关联服务的工作情况——尤其是重试、超时特性的应用切换演练0 码力 | 19 页 | 11.41 MB | 6 月前3
Envoy原理介绍及线上问题踩坑reserved. Page 16 Envoy过滤器架构-常用过滤器 插件名称 工作模式 功能介绍 envoy.listener.tls_inspector 监听过滤器 检测下游连接是否为TLS加密,并且获取ALPN(应用层 协商协议),用于网络层过滤器匹配判断。 envoy.listener.http_inspector 监听过滤器 检测应用层协议是否HTTP,并判断具体类型为HTTP/1 dst-ip:dst-port被临时替换为envoy-ip:15006,此时将无法区分两个连接的流量。因此当第一个连接建立成 功后,第二个连接的SYNC包将被当作重复包丢弃,导致第二个连接建立失败。 解决 方案 1、与客户沟通拆分两个微服务到不同的POD(符合微服务拆分原则) 2、如果无法拆分微服务,则需要解决源端口重用的问题,目前没有采用此种方法。 TCP五元组:(不能重复,否则conntrack无法区分) xConnetions 2. 未被处理请求进入等待队列大小为maxPendingRequests(默认1024) 3. 新请求超出等待队列最大数量报overflow,日志记录503 UO 解决方案 1、检查服务处理能力,缩短服务处理时间或水平扩展。 2、调整等待队列请求上限值。 503 UO问题分析 Copyright © Huawei Technologies Co., Ltd. All0 码力 | 30 页 | 2.67 MB | 1 年前3
13 Istio 流量管理原理与协议扩展 赵化冰可以无需关注分布式架构带来的通信相关问题,而专注于其业务价值。 流量控制:服务发现、请求路由、负载均衡、灰度发布、错误重试、 断路器、故障注入 可观察性:遥测数据、调用跟踪、服务拓扑 通信安全: 服务身份认证、访问鉴权、通信加密 Proxy Application Layer Service 1 Istio 流量管理 – 概览 • 控制面下发流量规则: Pilot • 数据面标准协议:xDS • 集群内Pod流量出入:0 码力 | 20 页 | 11.31 MB | 6 月前3
百度APP基于Istio实现基础架构升级 - lightning talk - MichaelXuØ 因重试导致雪崩,底层RPC框架需要重复建设来定制动态熔断能力。 Ø 升级一级服务建设中,发现很多模块单点、多点故障不能容忍,能否低成本解决? Ø 比如常用运维降级、止损能力各个产品线重复建设,方案差异大,OP期望运维能力在不同产品线之间能够通用化, 集中化管理,甚至做到自动决策 Ø 精细故障能力(异常query、注入延迟等)期望能够标准化、低成本跨产品线复制 Ø 百度APP架构缺少上下 #IstioCon 技术方案 l 核心原则 Ø 务实、高稳定性、低迁移成本。 l 核心思路 Ø 先单跳,后双跳。 Ø 服务发现下沉到Envoy。 Ø 基于 RPC + 服务发现实现透明流量劫持。 Ø 自建配置中心,产品化封装。 l 关键技术 Ø 内核劫持,使用Loopback IP 与 服务发现一一对应。 Ø RPC劫持,构建可快速扩展标准方案。 Ø 自身稳定性,降级(兜底)、隔离、监控多种方式保证。 自身稳定性,降级(兜底)、隔离、监控多种方式保证。 ①bns, 百度内部基础设施层,服务发现。 ②bns-agent,服务发现接入层。 ㊟ 内核劫持:Loopback方案 Ø loopback地址的管理和分配。 Ø 需要打通业务和loopback之间的映射管 理。 RPC劫持:可扩展方案 Ø envoy启动后注册port到bns-agent。 Ø rpc框架查询bns-agent IP与治理策略数据。 Ø bns-0 码力 | 9 页 | 2.20 MB | 1 年前3
Istio控制平面组件原理解析xer阻塞对envoy的影响 压测环境: ü 模拟接口延迟响应 ü 使用hey压力工具 ü 相同压力 ü 先用hey进行预热 ü 从10份数据中取中位数解决方案 ü方案一 • 业务性能和日志之间的选择,出现阻塞,丢弃日志保性能 ü方案二 • 使用主题订阅模式,减少阻塞问题Istio_Ca——安全证书管理(ICA) u证书生成 u证书挂载 u证书过期证书生成 ü生成root-cert.pem 实际有效期1年,没有找到更新方式,手动更新? ücert-chain.pem 和 key.pem 实际有效期90天,程序控制有效期45天 ü证书过期会被重新生成并挂载到/etc/certs ü触发envoy热启动ü方案一: • 把重新生成证书时间改为凌晨http://www.servicemesher.com0 码力 | 30 页 | 9.28 MB | 6 月前3
Istio + MOSN 在 Dubbo 场景下的探索之路MOSN-listener14/23 MOSN-routers15/23 MOSN-cluster16/23 Dubbo 场景下的改造 /03 从数据面、控制面两个方面来介绍如何改造17/23 改造方案1 Istio+Envoy • 通过创建 EnvoyFilter 资源来给 xDS 资源打 patch • Envoy 解析 Dubbo 协议中的 Serivce 和 Method • 根据路由策略配置把流量转发到对应的 _bestpractice_3005.html18/23 改造方案2 MOSN+Dubbo-go • MOSN 提供 Subscribe、Unsubscribe、Publish、Unpublish 服务 • SDK 发送请求 MOSN 提供的服务 • MOSN 通过 Dubbo-go 直接和注册中心连接19/23 改造方案3 Istio+MOSN • 数据面改造 • 控制面适配20/230 码力 | 25 页 | 3.71 MB | 6 月前3
Istio 与 Knative 踩坑实录服务网格实践进展6/25 Knative FAAS实践进展7/25 Faas(函数即服务)基础设施 FAAS实践进展8/25 Istio 的价值和问题 /02 酷家乐在使用 Istio 作为服务网格解决方案时的相关实践和经验9/25 隔离中间件 Istio 的价值和问题10/25 服务网格带来自由 Istio 的价值和问题 • 语言和技术栈的自由 • 中间件升级和切换的自由 • 不被供应商绑定的自由11/25 Knative 的实践和瓶颈 /03 酷家乐在使用 Knative 作为 Serverless 基础设施时的相关实践和经验18/25 Knative 简介 FAAS 实践进展19/25 酷家乐 FAAS 方案 FAAS 实践进展20/25 Knative 基本实践数据 FAAS 实践进展 分享主题:字号 分享嘉宾 平均冷启动时间 不包含 Istio-proxy 业务为 go 语言或 nodejs0 码力 | 26 页 | 1.35 MB | 6 月前3
SolarMesh 基于Istio构建的流量监管平台Istio是目前服务网格领域最流行的开源项目,38% 的企业在生产中使用服务网格,其中有接近一半的 选择是Istio SolarMesh 基于 Istio 及容器技术,提供流量监控 和管理,提供完善的非侵入式服务治理解决方案。 帮助企业在纷繁复杂的微服务调度中快速定位问题, 增强研发效率。 让服务网格不再难学难用,让服务网格在企业落地 更加平滑、安全、稳定。 Copyright © 2021 Cloud To0 码力 | 20 页 | 1.29 MB | 1 年前3
探讨和实践基于Istio的微服务治理事件监控时、吞吐量等基本信息。 服务器总体展示 展示当前所有服务器的运行状况, 包括CPU、内存、网络、I/O读写 等信息 业务总体展示 展示当前业务相关数据的 从宏观上快速定位问题,在微观上找到问题根因的 监控方案问题二:现有的系统能否完全满足需求 现有系统如何满足运维需求Istio现有的监控体系 指标监控 分布式追踪 日志系统Zipkin的架构图 Google Dapper Zipkin的实现EFK和Prometheus的架构图0 码力 | 29 页 | 8.37 MB | 6 月前3
Extending service mesh capabilities using a streamlined way based on WASM and ORAS此外,由于Envoy是用C++实现的,因此新开发的过滤器也必须用C++实现。 ○ 动态运行时加载: ■ 在运行时将新的过滤器动态加载到Envoy代理中。 ■ 简化了扩展Envoy的过程, 这种解决方案通常使用WebAssembly(WASM)的新技术, 它是一种有效的可移植二进制指令格式,提供了可嵌入和隔离的执行环境。 6 使用Wasm for Proxy ● Pros ○ 敏捷性:过0 码力 | 23 页 | 2.67 MB | 1 年前3
共 11 条
- 1
- 2













