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 MOSN-listener14/23 MOSN-routers15/23 MOSN-cluster16/23 Dubbo 场景下的改造 /03 从数据面、控制面两个方面来介绍如何改造17/23 改造方案1 Istio+Envoy • 通过创建 EnvoyFilter 资源来给 xDS 资源打 patch • Envoy 解析 Dubbo 协议中的 Serivce 和 Method • 根据路由策略配置把流量转发到对应的0 码力 | 25 页 | 3.71 MB | 6 月前3
全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量Agenda ❏ Service Mesh 中的七层流量管理能力 ❏ 几种扩展 Istio 流量管理能力的方法 ❏ Aeraki - 在 Isito 服务网格中管理所有七层流量 ❏ Demo - Dubbo Traffic Management ❏ MetaProtocol - Service Mesh 通用七层协议框架 #IstioCon Protocols in a Typical Microservice multiple types of layer-7 traffic in a service mesh, not just HTTP and gRPC ● RPC:HTTP, gRPC, Thrift, Dubbo, Proprietary RPC Protocol … ● Messaging: Kafka, RabbitMQ … ● Cache: Redis, Memcached ... ● Database: Load balancing at requet level ○ HTTP host/header/url/method, ○ Thrift service name/method name ○ Dubbo Interface/method/attachment ○ ... ● Fault Injection with application layer error codes ○ HTTP0 码力 | 29 页 | 2.11 MB | 1 年前3
13 Istio 流量管理原理与协议扩展 赵化冰path Request-Headers(Delivered as HTTP2 headers) TARS ServantName ServantName, FuncName, Context Dubbo service name service name, service version, service method Any RPC Protocol service name in message 工作量较大,相当于实现了一个独立的 xDS 服务器 Aeraki: 为Istio提供七层协议扩展的开源项目,可以支持 Dubbo、 Thrift、Redis以及私有协议,目前已支持: • Dubbo 缺省路由 • Dubbo version-based routing • Dubbo traffic splitting • 后续规划: • 其他协议支持:Thrift,Redis ,TARS … • 在 在 TCM 中提供托管的 Aeraki,为客户提供第三方协议支 持 16 Aeraki 项目后续计划 Dubbo [Done] Default routing [Done] Version-based routing [Done] Traffic splitting [Todo] Header based routing [Todo] RDS 需数据面配合 Thrift [Done] Default0 码力 | 20 页 | 11.31 MB | 6 月前3
Envoy原理介绍及线上问题踩坑这是微服务最早的雏形。 • 微服务架构通过细粒度的服务解耦拆分,带来缩短开发周期、独立部署、易扩展等好处的同时,同时带来对服务发现、负 载均衡、熔断等能力前所未有的诉求。 • 第一阶段为dubbo、SpringCloud侵入式开发框架,语言强相关。 • 非侵入服务网格最早为2016年Linkerd。 • 2017年,Goole、IBM、Lyft发布Istio。Istio目前为服务网格的 监听过滤器(Network::ListenerFilter) • onAccept接收新连接,判断协议类型,TLS握手,HTTP协议自动识别、提取连接地址信息 • L4 网络过滤器 • HTTP、Mysql、Dubbo协议处理、元数据交换,四层限流,开发调试支持等。 • onNewConnection新连接建立,可以决定是否拒绝 • onData处理连接数据到达 • onWrite处理连接数据发送 • L7 L4网络过滤器 基于WASM(WebAssembly)技术,支持沙箱、热升级、 跨语言的扩展机制,处理L4层新连接、数据收发。 envoy.filters.network.dubbo_pro xy L4网络过滤器 解析dubbo RPC协议并提取请求中方法、接口、 metadata等信息,并根据元数据进行路由选择。 envoy.filters.network.local_rateli mit L4网络过滤器0 码力 | 30 页 | 2.67 MB | 1 年前3
共 4 条
- 1













