Istio 在 Free Wheel 微服务中的实践FreeWheel的Istio实践 • 未来工作 • FreeWheel的痛点 我们是谁? • FreeWheel 是一家为客户提供数字视频广告管理技术和服务的公司。其业务端产 品需要对接客户,提供视频广告投放优化界面,类似于 Web ERP,是一个典型 的三层架构。 微服务之痛 • 两年来,我们将若干复杂的Rails单体应用拆分、迁移到微服务架构, 逻辑用Golang重写,引入了Kubernetes。随着模块越来越多,复杂 流等),在应用运维中 这是很重要的能力,只要是不修改请求、响应的功能都可以采用扩展 Mixer来实现 • Sidecar里接入额外的反向代理其实提供了一个修改请求、响应的接口 ,如认证之后需要将用户信息通过header传给下游服务 扩展Mixer接入授权 • 这里实现的例子mymock会完全拒绝所有 被匹配到的流量,右图是mymock Handler的基本原理 • mymock handler0 码力 | 31 页 | 4.21 MB | 1 年前3
SolarMesh 基于Istio构建的流量监管平台以及极低的维护成本 •规范 标准的istio规范操作,实时反映真实集群状态,告别terminal。 •便捷 一键安装,UI操作,流量策略模板复用,批量设置 •多集群支持,零成本接入 流量视图提供统一的拓扑图界面,让您的视角可以统揽全局 •附加组件 •Jaeger,为SolarMesh提供分布式链路追踪的能力 •Grafana,为SolarMesh提供流量的实时仪表盘0 码力 | 20 页 | 1.29 MB | 1 年前3
全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量Interface/Method 的服务访问 控制 #IstioCon Aeraki Demo: 用户请求和批处理任务隔离(Dubbo) 场景:隔离处理用户请求和批处理任务的服务实例,为用户请求留出足够的处理能 力,避免批处理任务的压力影响到用户体验。 ● 将服务端划分为两个服务实例组,分别用于处理批处理任务和用户请 求。 ● 客户端发起请求时通过一个“batchjob” header标明请求的来源 ,batchjob=true表示该请求来自于批处理任务;batchjob=false表示该 请求来自于用户请求。 ● 运维人员设置请求路由规则,将不同来源的请求路由到不同的服务实例 组进行处理。 #IstioCon Aeraki Demo: 用户请求和批处理任务隔离(Dubbo) 1. 在 dubbo: application 配置中为 Provider 增加 service_group 自定义属性 服务生成数据面所需的 Filter 配置 ,Filter 配置中将 RDS 指向 Aeraki 3. Istio 下发 LDS(Patch)/CDS/EDS 给 Envoy 4. Aeraki 根据缺省路由或者用户设置的路由规则下发 RDS 给 Envoy 1 2 3 4 #IstioCon MetaProtocol:数据面 ● MetaProtocol Proxy 中实现七层协议的通用逻辑:路由、Header0 码力 | 29 页 | 2.11 MB | 1 年前3
Service Mesh in ChinaService Mesh Industry in China 现状 • 主要云厂商都已基于 Istio 构建了 Service Mesh 产品 • 但是缺乏迁移到 Service Mesh 上的用户案例及完整路径 • Service Mesh 人才存在缺口 #IstioCon 云原生社区 云原生社区管委会成员 https://cloudnaitve.to #IstioCon 云原生社区 Mesh Meetup 会融入云原生社区 meetup 继续举办下去 • ServiceMesher 社区中的 Istio 开发者和用户加入云原生社区 Istio SIG 申请加入 Istio SIG 云原生社区公众号 #IstioCon Next 用户案例 Istio 文档维护 Istio 实践与培训 https://academy.tetrate.io/ https://istio0 码力 | 13 页 | 2.66 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Envoy SVC Pod Node Envoy SVC Pod Node Envoy SVC Pod list/watch (Service, Endpoints, Pod) 用户 Istio & Kubernetes:统一服务发现 Pilot ServiceController( Kube) DiscoveryServe r clientset Envoy Envoy List/Watch KubeAPIserver上service、 endpoint等资源对象 3. DiscvoeryServer使用 ServcieDiscovery接口上的服务发 现方法和用户配置的规则构造xDS 4. Envoy从Discovery获取xDS,动态 更新 Kubernetes Service Instance Instance Service Endpoint0 码力 | 38 页 | 14.93 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Envoy SVC Pod Node Envoy SVC Pod Node Envoy SVC Pod list/watch (Service, Endpoints, Pod) 用户13 Istio & Kubernetes:统一服务发现 Pilot ServiceController( Kube) DiscoveryServe r clientset Envoy Envoy List/Watch KubeAPIserver上service、 endpoint等资源对象 3. DiscvoeryServer使用 ServcieDiscovery接口上的服务发 现方法和用户配置的规则构造xDS 4. Envoy从Discovery获取xDS,动态 更新 Kubernet es Service Instance Instance Service Endpoint0 码力 | 34 页 | 2.64 MB | 6 月前3
探讨和实践基于Istio的微服务治理事件监控• 服务之间依赖呈现为线型 • 日志、性能指标需要集中化 存储 基于主机的监控场景 • 应用规模较小 • 服务之间没有互相依赖 • 日志、性能指标都在单个主 机问题一:什么是用户想要的监控 什么是用户想要的监控?分布式监控的三个维度 Metrics Logging Tracing 指标监控 • 指标可被聚合 • 体现系统性能趋势 分布式追踪 • 和请求相关 • HTTP0 码力 | 29 页 | 8.37 MB | 6 月前3
Envoy原理介绍及线上问题踩坑Huawei Technologies Co., Ltd. All rights reserved. Page 5 Envoy介绍 • Envoy采用C++实现,本身为四层及七层代理,可以根据用户应用请求内的数据进行高级服务治理 能力,包括服务发现、路由、高级负载均衡、动态配置、链路安全及证书更新、目标健康检查、 完整的可观测性等。 • 目前常见数据面主要有三种:Envoy、Linker 当连接准备好后对下游请求使用codec进行HTTP编码,并发送到上游连接的L4层网络过滤器。 • 上游连接的L4层网络过滤器使用metadata_exchange传输本Envoy内保存的与调用APP相关的元数据信息,包括POD名称、用户空间、cluster_id等信息。之 后将待发送请求通过Socket发送到网络,经过iptables时判断发送者为Envoy则不再拦截。 Copyright © Huawei Technologies0 码力 | 30 页 | 2.67 MB | 1 年前3
Istio 与 Knative 踩坑实录展望-推动组织变革 FAAS 实践进展24/25 总结 FAAS 实践进展 • 深入掌握后可谨慎使用 • 可能颠覆组织和职能的运作方式,推进需要技巧 • 目前社区尚小,亟需扩大开发者群体和用户群感谢聆听 酷家乐技术博客 我的微信0 码力 | 26 页 | 1.35 MB | 6 月前3
Istio + MOSN 在 Dubbo 场景下的探索之路根据不同的平台(Kubernetes、Console) 获取一些资源(Kubernetes 中使用 Informer 机制获取 Node、Endpoint、 Service、Pod 变化) • 根据用户的配置(CR、MCP 推送,文件) 触发推送流程 推送流程 • 记录变化的资源类型 • 根据变化的资源类型整理本地数据 • 根据变化的资源类型判断需要下发的 xDS资源 • 构建 xDS0 码力 | 25 页 | 3.71 MB | 6 月前3
共 15 条
- 1
- 2













