 Istio + MOSN 在 Dubbo 场景下的探索之路多点生活在 Service Mesh 上的实践 Istio + MOSN 在 Dubbo 场景下的探索之路 陈鹏 多点生活 平台架构组研发工程师1/23 自我介绍 • 陈鹏、多点生活平台架构组研发工程师 • 开源项目与云原生爱好者 • 多年网上商城、支付系统相关开发经验 • 2019 年至今从事云原生和 Service Mesh 相关开发工作2/23 /01 /02 /03 为什么需要 为什么需要 Service Mesh 改造 探索 Istio 技术点 Dubbo 场景下 的改造 • 对比传统微服务架构 • 和 Service Mesh 化 之后有哪些优缺点 • MCP • Pilot • xDS • MOSN 结合 Istio 的技术点, 介绍多点生活目前的 探 索 以 及 服 务 发 现 Demo 的演示3/23 为什么需要 Service Mesh RDS • cluster : CDS 和 EDS13/23 MOSN-listener14/23 MOSN-routers15/23 MOSN-cluster16/23 Dubbo 场景下的改造 /03 从数据面、控制面两个方面来介绍如何改造17/23 改造方案1 Istio+Envoy • 通过创建 EnvoyFilter 资源来给 xDS 资源打 patch • Envoy0 码力 | 25 页 | 3.71 MB | 6 月前3 Istio + MOSN 在 Dubbo 场景下的探索之路多点生活在 Service Mesh 上的实践 Istio + MOSN 在 Dubbo 场景下的探索之路 陈鹏 多点生活 平台架构组研发工程师1/23 自我介绍 • 陈鹏、多点生活平台架构组研发工程师 • 开源项目与云原生爱好者 • 多年网上商城、支付系统相关开发经验 • 2019 年至今从事云原生和 Service Mesh 相关开发工作2/23 /01 /02 /03 为什么需要 为什么需要 Service Mesh 改造 探索 Istio 技术点 Dubbo 场景下 的改造 • 对比传统微服务架构 • 和 Service Mesh 化 之后有哪些优缺点 • MCP • Pilot • xDS • MOSN 结合 Istio 的技术点, 介绍多点生活目前的 探 索 以 及 服 务 发 现 Demo 的演示3/23 为什么需要 Service Mesh RDS • cluster : CDS 和 EDS13/23 MOSN-listener14/23 MOSN-routers15/23 MOSN-cluster16/23 Dubbo 场景下的改造 /03 从数据面、控制面两个方面来介绍如何改造17/23 改造方案1 Istio+Envoy • 通过创建 EnvoyFilter 资源来给 xDS 资源打 patch • Envoy0 码力 | 25 页 | 3.71 MB | 6 月前3
 Envoy原理介绍及线上问题踩坑处理新连接。 • 之后对于此连接的所有处理都在此线程进行,包括下游数据集解码,路由选择、上游数据编 码发送等。 • 同时此工作线程还要处理定期观测信息与主线程同步(通过异步加回调)、线程内配置及集 群管理器状态更新等工作。 • 请求完成后延迟释放内存,解决本次事件处理中回调所引用对象可以被安全访问,并在下次 事件处理中安全删除。 admin连接 数据面连接 主 机 健 康 检 查 看 7:34706 - - 原因 分析 1. 对于http1.1协议envoy默认重用与服务端建立的连接 2. 当服务返回响应后,会主动关闭此连接发送FIN 3. Envoy收到响应后,将尝试检测下此连接是否关闭,如果已经关闭就从可用连接列表中移除 4. 存在时间窗口导致envoy检测时此FIN还没有收到,且请求处理为单线程,则认为连接依然可用 5. 将新请求绑定到连接上(可能已经关闭)进行数据发送 增强连接策略平均时延(ms) 提升30% 降低23% 默认连接策略 增强连接策略 QPS变化不均匀, 跟内核随机选择 的Envoy处理线程 有关 QPS变化基本平滑, 并可以方便的找 到当前线程数下 对应斜率最大位 置为128连接 QPS平均提升30% 以上 QPS及平均时延在线程数确定时,随连 接数增加快速恶化 端到端平均时延 降低23%左右 • Envoy: 4线程,4core,默认内存0 码力 | 30 页 | 2.67 MB | 1 年前3 Envoy原理介绍及线上问题踩坑处理新连接。 • 之后对于此连接的所有处理都在此线程进行,包括下游数据集解码,路由选择、上游数据编 码发送等。 • 同时此工作线程还要处理定期观测信息与主线程同步(通过异步加回调)、线程内配置及集 群管理器状态更新等工作。 • 请求完成后延迟释放内存,解决本次事件处理中回调所引用对象可以被安全访问,并在下次 事件处理中安全删除。 admin连接 数据面连接 主 机 健 康 检 查 看 7:34706 - - 原因 分析 1. 对于http1.1协议envoy默认重用与服务端建立的连接 2. 当服务返回响应后,会主动关闭此连接发送FIN 3. Envoy收到响应后,将尝试检测下此连接是否关闭,如果已经关闭就从可用连接列表中移除 4. 存在时间窗口导致envoy检测时此FIN还没有收到,且请求处理为单线程,则认为连接依然可用 5. 将新请求绑定到连接上(可能已经关闭)进行数据发送 增强连接策略平均时延(ms) 提升30% 降低23% 默认连接策略 增强连接策略 QPS变化不均匀, 跟内核随机选择 的Envoy处理线程 有关 QPS变化基本平滑, 并可以方便的找 到当前线程数下 对应斜率最大位 置为128连接 QPS平均提升30% 以上 QPS及平均时延在线程数确定时,随连 接数增加快速恶化 端到端平均时延 降低23%左右 • Envoy: 4线程,4core,默认内存0 码力 | 30 页 | 2.67 MB | 1 年前3
 全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量路由规则协议无关:七层协议名是路由规则中的字段值,而不是字段名称 ● 采用通用的 key:value 键值对来配置路由匹配条件 #IstioCon Aeraki 后续开源计划 ● Istio 增强工具集 ○ 协议扩展:Dubbo、Thrift、Redis、 MetaProtocol ○ 性能优化:LazyXDS ○ 注册表对接:dubbo2istio、consul、 Eureka ○ ...0 码力 | 29 页 | 2.11 MB | 1 年前3 全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量路由规则协议无关:七层协议名是路由规则中的字段值,而不是字段名称 ● 采用通用的 key:value 键值对来配置路由匹配条件 #IstioCon Aeraki 后续开源计划 ● Istio 增强工具集 ○ 协议扩展:Dubbo、Thrift、Redis、 MetaProtocol ○ 性能优化:LazyXDS ○ 注册表对接:dubbo2istio、consul、 Eureka ○ ...0 码力 | 29 页 | 2.11 MB | 1 年前3
 探讨和实践基于Istio的微服务治理事件监控HTTP • SQL 日志系统 • 代码逻辑处理事件 • 异常、debug信息容器化和微服务下的监控需求 微观下的监控需求 快速错误追踪 可快速排查在性能测试场景下的 慢方法、异常调用以及异常报文 等信息 单次链路追踪 可细粒度排查应用单次链路调用 的包括日志、网络数据在内的所 有信息。 宏观下的监控需求 链路总体展示 展示整个服务调用过程中链路上 每一个节点的服务状况,包括延 时、吞吐量等基本信息。 是自动完成的,而Mixer生成模版实例则 可以通过配置来完成。因此,所谓的Mixer插件实际上就是Adapter,开发Mixer插件 也就是开发Adapter。两种开发模式 几种开发模式,以及写一下两种方式的区别 Compiled In Adapter Out Of Process Adapter • Adapter与mixer代码需要一起打包编译,最终生成 一个可执行文件。 Adap0 码力 | 29 页 | 8.37 MB | 6 月前3 探讨和实践基于Istio的微服务治理事件监控HTTP • SQL 日志系统 • 代码逻辑处理事件 • 异常、debug信息容器化和微服务下的监控需求 微观下的监控需求 快速错误追踪 可快速排查在性能测试场景下的 慢方法、异常调用以及异常报文 等信息 单次链路追踪 可细粒度排查应用单次链路调用 的包括日志、网络数据在内的所 有信息。 宏观下的监控需求 链路总体展示 展示整个服务调用过程中链路上 每一个节点的服务状况,包括延 时、吞吐量等基本信息。 是自动完成的,而Mixer生成模版实例则 可以通过配置来完成。因此,所谓的Mixer插件实际上就是Adapter,开发Mixer插件 也就是开发Adapter。两种开发模式 几种开发模式,以及写一下两种方式的区别 Compiled In Adapter Out Of Process Adapter • Adapter与mixer代码需要一起打包编译,最终生成 一个可执行文件。 Adap0 码力 | 29 页 | 8.37 MB | 6 月前3
 Istio 在 Free Wheel 微服务中的实践网络安全:兼容Spiffe标准实现 • 配置管理:为C++实现的Proxy接 入k8s的动态配置管理 • Attribute Machine: 授权,Quota ,Tracing,监控的基础 Istio管理下的微服务 • 右图是部署mock1.v1 Pod之后发生的事 情: • Sidecar Injection: 注入initContainer, Sidecar, istio-certs volume0 码力 | 31 页 | 4.21 MB | 1 年前3 Istio 在 Free Wheel 微服务中的实践网络安全:兼容Spiffe标准实现 • 配置管理:为C++实现的Proxy接 入k8s的动态配置管理 • Attribute Machine: 授权,Quota ,Tracing,监控的基础 Istio管理下的微服务 • 右图是部署mock1.v1 Pod之后发生的事 情: • Sidecar Injection: 注入initContainer, Sidecar, istio-certs volume0 码力 | 31 页 | 4.21 MB | 1 年前3
 SolarMesh 基于Istio构建的流量监管平台Copyright © 2021 Cloud To Go 为什么我们需要服务网格 - 服务网格带来了什么 服务网格是一个云原生的网络基础设施,它把微服务调度中有关网络的公共能力下沉,在无任何代码侵入的 情况下提供可观察性、流量管理和安全性等能力。 Copyright © 2021 Cloud To Go SolarMesh的定位 - 基于Istio构建的流量监管平台 Istio是目前服务网格领域最流行的开源项目,38%0 码力 | 20 页 | 1.29 MB | 1 年前3 SolarMesh 基于Istio构建的流量监管平台Copyright © 2021 Cloud To Go 为什么我们需要服务网格 - 服务网格带来了什么 服务网格是一个云原生的网络基础设施,它把微服务调度中有关网络的公共能力下沉,在无任何代码侵入的 情况下提供可观察性、流量管理和安全性等能力。 Copyright © 2021 Cloud To Go SolarMesh的定位 - 基于Istio构建的流量监管平台 Istio是目前服务网格领域最流行的开源项目,38%0 码力 | 20 页 | 1.29 MB | 1 年前3
共 6 条
- 1













