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
SOFAMesh的通用协议扩展ISTIO 克隆并保持同步更新 • 使用 SOFA-MOSN 代替 ENVOY 作为数据平面 • 打包 • 安装 • 部署 • 测试 • 支持主流的微服务框架 • SOFA • HSF • DUBBO • SPRING CLOUD • … • 控制平面创新的地方 • MESH OPERATOR • RPC SERVICE CONTROLLER • …SERVICE MESH 落地中的问题常见的 服务注册模型落地一个微服务框架需要的工作 • 部署 ZK 集群作为 RPC 框架的注册中心 • 开发 ZK Platform Adapter for DUBBO • 开发 DUBBO 服务的 XDS 配置下发 • 开发 DUBBO 服务的路由规则 XDS 适配 • 开发 DUBBO 协议支持SOFA MESH 的统一解决方案 • 采用 Kubernetes Native 方式落地微服务应用 • 使用 INTERFACE 为微服务框架提供轻量化客户端落地一个微服务框架需要的工作 • 部署 ZK 集群作为 RPC 框架的注册中心 • 开发 ZK Platform Adapter for DUBBO • 开发 DUBBO 服务的 XDS 配置下发 • 开发 DUBBO 服务的路由规则 XDS 适配 • 开发 DUBBO 协议支持(开箱即用模式下也可以省掉)DNS 寻址目标 • 允许应用把接口当做域名来访问远端服务 • 支持在 Kubernetes DNS0 码力 | 28 页 | 4.73 MB | 6 月前3
云原生微服务最佳实践• 专业的微服务团队保障 Dubbo/Spring-Cloud-Alibaba/Envoy 服务框架+服务⽹格 用户容器 用户容器 最佳实践 • 微服务最佳实践 • 服务治理最佳实践 • 日常环境隔离最佳实践 • 网关最佳实践 微服务最佳实践 MSE微服务引擎 Nacos/Zookeeper/Eureka 注册中⼼+配置中⼼ Dubbo/Spring-Cloud-Alibaba/Envoy web服务 Gray 基线版本 用户中心 Dubbo Gray Dubbo 基线版本 RPC RPC 订单中心 Dubbo Gray Dubbo 基线版本 RPC RPC 设备中心 Dubbo 基线版本 RPC 支付中心 Dubbo 基线版本 RPC RPC 数据中心 Dubbo Gray Dubbo 基线版本 RPC RPC 微服务中心 超时、重试 流量调度 动态数据源 故障自动切库 DB大促预建联 密码定期修改 流量控 制 线程控 制 微服务生态 前端生态 Spring Sentinel 高可用生态 Dubbo Midway Switch 数据库生态 TDDL 服务鉴权 Pre-plan MSE(Nacos) 服务网格最佳实践 阿里服务网格(简称 ASM)是一个统一管理微服务应用流量、兼容Istio的托管式平台0 码力 | 20 页 | 6.76 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
API7 ⽹关技术⽩⽪书8s等领域有⼤量实践 经验,使得API7可以轻松⽀持毫秒级配置更新、⽀撑数千⽹关节点;⽹关节点⽆状态,可任意扩容或 缩容; 协议转换 3. ⽀持丰富的协议类型,如TCP/UDP、Dubbo、MQTT、gRPC、SOAP、WebSocket等; 安全防护 4. 内置多种⾝份验证与安全防护能⼒,如BasicAuth、JSONWebToken、IP⿊⽩名单、OAuth等; 功能。此外,它 也⽀持服务发现与多种注册中⼼,并有能⼒根据请求中Header、Query、Cookie等参数进⾏分 流; • 协议转换:API7⽀持丰富的协议,如TCP/UDP、Dubbo、MQTT、gRPC、WebSocket等,并能 够实现HTTP协议到后端服务其它协议的转换。API⽹关对外暴露统⼀HTTP⼊⼝,管理员可通过 控制台界⾯完成协议转换设置,⽀持请求与后端服务的参数映射; ✖ TCP ✔ ✔ ✖ ✔ ✖ UDP ✔ ✔ ✖ ✔ ✖ HTTPgRPC/Dubbo协议转换 ✔ ✔ ✖ ✖ ✖ Websocket ✔ ✔ ✔ ✔ ✔ Dubbo ✔ ✖ ✖ ✖ ✖ ⾃定义四层、七层协议 ✔ ✖ ✖ ✖ ✖ 平台⽀持0 码力 | 19 页 | 1.12 MB | 1 年前3
Service Mesh 在『路口』的产品思考与实践支撑了双十一大促。 数百个 数十万 应用 容器 <0.2ms 数千万 平均RT 峰值QPS 2019年9月,SOFAStack 双模微 服务平台入驻阿里云开始公测, 支持 SOFA, Dubbo 和 Spring Cloud 应用 对外输出19/39 Part 3: 蚂蚁金服的产品实践 SOFAStack 双模微服务平台 DB Advisor Pod Spring = 传统微服务 + Service Mesh 双剑合璧 服务路由 服务限流 服务拓扑 实时监控 ........ Pod Dubbo 应用 SOFAMosn VM SOFA 应用 SOFAMosn VM Dubbo 应用 Pod SOFA 应用 SOFA SDK SOFA SDK 安全加固 基于 SDK 的传统微服务 基于 Sidecar 透明迁移服务方26/39 Part 3: 蚂蚁金服的产品实践 平滑迁移 终态27/39 Part 3: 蚂蚁金服的产品实践 多协议支持 • 除了支持 SOFARPC,也支持广泛使用的 Dubbo 和 Spring Cloud,提供统一的服务治理能力 • 基于 x-protocol,未来也可以方便地支持更多协议 x-protocol介绍:https://www.servicemesher0 码力 | 40 页 | 15.86 MB | 6 月前3
KubeCon2020/微服务技术与实践论坛/Spring Cloud Alibaba 在 Kubernetes 下的微服务治理最佳实践-方剑单体 – 微服务 https://tanzu.vmware.com/content/blog/ monoliths-to-microservices 微服务拆分原则 DevOps 服务框架 Dubbo 可观测性 混沌工程 服务治理 Spring Cloud 多语言微服务 API管理 服务压测 分布式事务 分布式调度 API网关 服务注册发现 负载均衡 服务配置 无损下线 服务容错 提供微服务应用开发套件集合 Spring Cloud 生态 23123 Spring Cloud Nacos Sentinel Apache RocketMQ Seata Apache Dubbo Function Compute EDAS ACM Aliware MQ GTS AHAS MSE Micro Gateway 23123 Spring Data RDS MySQL 孵化器的开源项目 2018.7 第一次提交代码 2018.11 发布第一个版本。 包含 Nacos & Sentinel 组件 2019.1 1. 新增 Dubbo Spring Cloud 模块 让 Spring Cloud 与 Dubbo 可以互相调用 2. 新增 Seata 模块,让 Spring Cloud 的服务调用拥有分布式事务能力 2019.4 1. 发布 GA 版本 20 码力 | 27 页 | 7.10 MB | 1 年前3
大规模微服务架构下的Service Mesh探索之路HTTP/1.1 HTTP/2 Sofa RPC ü 参照Envoy的设计 ü 实现XDS API ü 兼容Istio ü 支持HTTP/1.1和HTTP/2 ü 扩展Sofa/Dubbo/HSF Dubbo RPC HSF RPC最大的改变:合并部分Mixer功能 Pilot Auth Mixer Golang Sidecar Mixer ü Mixer三大功能: • Check Spring Cloud Adapter Dubbo Adapter Istio Adapter Conduit Adapter 逻 辑 实 现 应用 曾经构想过的服务注册中心理想架构Pilot架构类似:以Pilot为基础做扩展和增强 Sofa Registry Open Service Registry API Data Sync Dubbo Eureka Consul 10 码力 | 37 页 | 7.99 MB | 6 月前3
Dapr june 2023 fuzzing audit reportgithub.com/dapr/dapr/pkg/grpc 35 FuzzDubboSerialization github.com/dapr/components-contrib/bindings/dubbo 36 FuzzAddTopic github.com/dapr/components-contrib/pubsub/mqtt3 37 FuzzQuery github.com/dapr/co fuzzer. 35: FuzzDubboSerialization Tests the Hessian serializer implemented in dubbo.apache.org/dubbo-go/v3/protocol/dubbo/impl which Dapr Components-Contrib uses. 36: FuzzAddTopic Tests the addTopic()0 码力 | 19 页 | 690.59 KB | 1 年前3
共 32 条
- 1
- 2
- 3
- 4













