13 Istio 流量管理原理与协议扩展 赵化冰Istio 流量管理原理与协议扩展 赵化冰 赵化冰 腾讯云 服务网格团队 https://zhaohuabing.com Service Mesh Service Mesh Layer 处理服务间通信(主要是七层通信)的云原生基础设施层: Service Mesh 将各个服务中原来使用 SDK 实现的七层通信相关功能抽象 出来,使用一个专用层次来实现,Service Mesh 对应用透明,因此应用 专注于其业务价值。 流量控制:服务发现、请求路由、负载均衡、灰度发布、错误重试、 断路器、故障注入 可观察性:遥测数据、调用跟踪、服务拓扑 通信安全: 服务身份认证、访问鉴权、通信加密 Proxy Application Layer Service 1 Istio 流量管理 – 概览 • 控制面下发流量规则: Pilot • 数据面标准协议:xDS • 集群内Pod流量出入: Sidecar • 集群外部流量入口:Ingress Gateway • 集群外部流量出口:Egress Gateway(可选,在一个集中点对外部访问进行控制) • Service discovery • Load balancing • Time out • Retries • Circuit breaker • Routing • Auth • Telemetry collecting 外部流量出口 外部流量入口0 码力 | 20 页 | 11.31 MB | 6 月前3
03-基于Apache APISIX的全流量API网关-温铭APACHE APISIX的全流量API网关 温铭, 来自一家在远程工作方式下商业化开源项目的创业公司(支流科技), 担任CEO&联合创始人, Apache 顶级项目APISIX的PMC主席, Skywalking开源项目的贡献者(commiter)。在创业之前, 在360做企业安全, 360开源委员会的发起人, 腾讯的TVP, TARS基金会的TOC成员, 在安全领域有四十多个专利, 最近三年全 毫秒 • 运维友好:Prometheus, SkyWalking,流量复制,故障注入等 技术架构 Apache APISIX 能做什么? • 处理 L4、L7 层流量:HTTP、HTTPS、TCP、UDP、MQTT、Dubbo、gRPC… • 替代 Nginx 处理南北向流量 • 替代 Envoy 处理服务间东西向流量 • k8s ingress controller • 借助 MQTT 性能(单核,开启两个限流和 prometheus插件) 18000 1700 支持流量量复制和故障 是 否 注⼊ 是 否 支持SkyWalking 是 否 插件热更新 新增、删除、更新插件不用 重载服务 无, 每次都需要重载 服务 二次开发 难度低 难度中等 本地技术支持 有, 1小时响应 无 定期巡检和培训 有 无 基于 Apache APISIX 的全流量网关 Nginx 遇到的挑战 • 社区不活跃:没有 github0 码力 | 11 页 | 6.56 MB | 6 月前3
金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理Apache APISIX借助ServiceMesh 实现统一技术栈的全流量管理 金卫(API7 解决方案架构师) • 支流科技 - 解决方案架构师 • Apache APISIX PMC • Apache APISIX Ingress Controller Founder • Apache skywalking committer • Github: https://github.com/gxthrj 将通用能力下沉 应用专注于业务逻辑 注册发现 流量管理 可观测性 安全防护 服务网格的痛点 方案众多,各有缺陷 与基础设施整合成本高 性能损耗 资源的额外消耗 扩展难度高 理想的服务网格应该是什么样? 易于扩展 理想的服务网格 业务无感知 落地成本低 动态且增量配置 安全管控 可观测 流量精细化管理 跨集群部署 性能损耗低 资源消耗低 按需下发配置 com/api7/amesh 下一个版本发布时间 12 月 未来展望 概览 APISIX Ingress处理南北向入口流量 APISIX Service Mesh处理东西向流量 APISIX专用插件配置等通过Amesh 下发 APISIX 全流量代理的价值 节约成本 统一技术栈 统一管理 复用技术经验 未来 结合APISIX xRPC实现 原生异构多协议支持0 码力 | 34 页 | 3.50 MB | 6 月前3
25-云原生应用可观测性实践-向阳80%看代码 20% 看流量 20% 看代码 80%看流量 应用连接方式的变化 应用监控的变化 传统的方法: 开发人员埋点, 标准SDK/JavaAgent, 流量分光镜像。 云原生下的难题: 微服务迭代快, 侵入式监控效率低; 云网络虚拟化, 东西向流量监控难。 挑战/必要性:网络的动态性和复杂性,不监控流量谈何应用可观测 机遇/有效性:云网络连接API/函数,监控流量可零侵入实现应用可观测 è è 云原生应用可观测“原力”,流量监控能力是机遇、基石 simplify the growing complexity © 2021, YUNSHAN Networks Technology Co., Ltd. All rights reserved. 混合云全栈可观测架构 〔分布式〕 流量分析 解析 聚合 关联 压缩 零侵入的流量采集与分析 发送 零侵入的云原生应用可观测性 Flow 数据节点 © 2021, YUNSHAN Networks Technology Co., Ltd. All rights reserved. 混合云全栈可观测架构 〔分布式〕 流量分析 解析 聚合 关联 压缩 零侵入的流量采集与分析 发送 零侵入的云原生应用可观测性 Flow 数据节点 云原生,水平扩展 监控数据 性能指标 调用日志 网络链路 由业务代码驱动的可观测性数据、云API数据 调用关系0 码力 | 39 页 | 8.44 MB | 6 月前3
七牛容器云ServiceMesh实践七牛容器云Service Mesh实践 冯玮 七牛容器云架构师 2018.11.25 Service Mesh Meetup #4 上海站Ingress Controller • 流量管理 • 安全管理 • 统一配置 • 反向代理Contour • 本质上还是Ingress Controller • Kubernetes深度整合 • Gimbal生态组件Contour特点 • 基于Envoy • 南北向流量使用Envoy • 兼容Kubernetes标准Restful接口 • 统一的Kubernetes管理接口 • Gimbal生态 • 多集群入口流量整合管理 • 劣势 • 缺少大规模落地案例 • 功能/非功能仍需加强Contour & Istio • 南北向流量 • API版本共存(Istio & Kubernetes Ingress) • 东西向流量 • Istio支持全量功能 Contour支持Tracing能力 • 数据面共存 • 共用边车组件Envoy七牛现有Service Mesh体系 • Istio产品化 • 东西流量产品化 • 南北流量产品化 • TLS管理优化 • Contour增强 • 入口流量管控 • 跨集群调度 • 发展策略 • API版本兼容两种方式 • 数据面优先,控制面按需迭代七牛容器云Service Mesh发展 • 产品发展0 码力 | 15 页 | 3.86 MB | 6 月前3
22-云原生的缘起、云原生底座、PaaS 以及 Service Mesh 等之道-高磊制品变化:代码因商业而变带来新 的功能缺陷 3 配置变化:因环境而变带来的不稳 定性因素 6 外部依赖变化:ERP可用性变化 带来的不稳定因素 5 人员变化:没有知识沉淀导致的 不稳定因素 4 环境变化:因安全、流量、故障、环境崩 溃、底层IT变更而变带来的不稳定因素 非云原生:无法对应变 化=稳定性无法保证 云原生:主动对应变化= 稳定性保证 什么是云原生(Cloud Native Computing)->为云而生 用户已在生产环 境中应用 云原生对业务的支撑实例(数据来源于阿里云) 4982亿,2020年天猫双11再创消费新纪录。58.3万笔/秒,双11交易峰值再创新高,阿里云又一次扛住全球最大规模流量洪峰。这一切背后支撑的 “技术引擎”又是如何为近十亿全球购物者的狂欢提供着“无感知护航”? 近日,在阿里巴巴双11技术沟通会上,阿里云研究员、阿里云云原生应用平台负责人丁宇表示,今年双11实现了核心系统全面云原生化的重大技术 压测支撑效率和稳定性。 • 云原生技术不仅在阿里内部大规模普及,也正通过阿里云服务全社会的双11。大促期间,阿里云原生还支撑了中国邮政、申通 快递、完美日记、世纪联华等客户,稳定高效应对双11大促的流量。以物流行业为例,申通快递将核心系统搬到云上,采用阿 里云容器服务,亿级包裹过境,系统稳如泰山,IT成本还降低了30%;以大型商超为例,世纪联华基于阿里云函数计算(FC)弹性 扩容,业务峰值 QPS超过20190 码力 | 42 页 | 11.17 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享支持subset复杂匹配路由 Ø 无损平滑迁移 Ø ProtocolEngine协议扩展 机制 Ø 支持Router模式 Ø GRPC支持 Ø 协议自动识别 Ø 链式路由扩展 Ø 完善流量管理策略,包括 Retry、DirectResponse、 HTTP Header add/delete、 流控、故障注入等 Ø 支持必要的admin接口性能 0.1.0 0.2.0 0.3.0 下一代网络接入系统 运维/流量调拨/监控/… 零信任 安全体 系 基于可靠沙箱的云原生运行时 异构硬件蚂蚁金服内部大规模落地 Ø覆盖核心链路应用 Ø 支撑第五代运维架构, 第五代微服务体系,新一代网络接入体 系,融合接入层、网关层、中间件技术体系,提供高性能、跨语 言的服务化通信能力 Ø 支撑零信任、微隔离的新一代安全防护体系 Ø 覆盖接入层场景,统一东西向、南北向流量代理Q & A https://github0 码力 | 29 页 | 7.03 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路Backend Backend Backend Backend Backend Backend Backend Backend Backend Backend Backend 通道收缩 流量聚集Report部分的隐忧:网络吞吐量 应用 Sidecar Mixer Backend 交换机 交换机 应用 Sidecar Backend 交换机 应用 Backend 交换机 应用直连基础设施后端: Registry的adapter,提供 超大规模服务注册和发现的解决方案 3. 增加服务注册的API 2. 增加数据同步 功能,配合edge sidecar实现跨域 和异构的数据交换Edge Sidecar: 东西向服务间通讯的特殊桥梁 服务注册中心 Cluster-2 Service-B Edge Sidecar Service-B Service-B Edge Sidecar Edge Sidecar0 码力 | 37 页 | 7.99 MB | 6 月前3
Nacos架构&原理
CRUD,服务健康状态检查,服务权重管理等功能。 配置管理:实现配置管 CRUD,版本管理,灰度管理,监听管理,推送轨迹,聚合数据等功能。 元数据管理:提供元数据 CURD 和打标能力,为实现上层流量和服务灰度非常关键。 19 > Nacos 架构 内核层 插件机制:实现三个模块可分可合能力,实现扩展点 SPI 机制,用于扩展自己公司定制。 事件机制:实现异步化事件通知,SDK 数据变化异步通知等逻辑,是 扩展。 推送通道:解决 Server 与存储、Server 间、Server 与 SDK 间高效通信问题。 容量管理:管理每个租户,分组下的容量,防止存储被写爆,影响服务可用性。 流量管理:按照租户,分组等多个维度对请求频率,长链接个数,报文大小,请求流控进行控制。 缓存机制:容灾目录,本地缓存,Server 缓存机制,是 Nacos 高可用的关键。 启动模式:按照单机模式,配置模式,服务模式,DNS 服务注册中心产品设计上应该去遵循和考虑的要点。 数据模型 注册中心的核心数据是服务的名字和它对应的网络地址,当服务注册了多个实例时,我们需要对不 健康的实例进行过滤或者针对实例的⼀些特征进行流量的分配,那么就需要在实例上存储⼀些例如 健康状态、权重等属性。随着服务规模的扩大,渐渐的又需要在整个服务级别设定⼀些权限规则、 以及对所有实例都生效的⼀些开关,于是在服务级别又会设立⼀些属性。再往后,我们又发现单个0 码力 | 326 页 | 12.83 MB | 9 月前3
Service Mesh的实践分享物理机、sidecar • Local & Remote,主与备 • 轻量级客户端、本地调用 • Local Proxy负责服务治理与 远程通信 • Remote Proxy负责备份和非 主流流量 JavaApp Local Proxy OSP Server Service Registry Service Config Center Remote Proxy Cluster Local Proxy被pod共享 • 自保护,对来源方限流和流量 转移 • 资源适配 • 根据宿主机的硬件配置定制不 同资源配置的Daemonset Local Proxy Pod 写入地址 监听变化 宿主机 Proxy address File Pod Remote Proxy Cluster 主流量 备用或限流 DaemonsetOverall JavaApp 难度大。客户端的问题会对 应用直接产生影响,耦合太 重 难度小。Sidecar故障可以将流量临时切到 remote proxy解决 难度小。集群通过LVS接入,单 台机故障可以下线 升级难度 难度极大。需要客户端修改 代码、发布、上线。 难度小。切换流量到remote proxy可以实 现用户无感知的无损升级。 难度小。通过LVS摘流量滚动升 级 动态扩容难度 应用内置,无须扩容 物理机sidecar单客户端,无须扩容0 码力 | 30 页 | 4.80 MB | 6 月前3
共 79 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8













