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 | 5 月前3微服务架构实践-唯品会
�! � �! 13 ����<dubbo:application name="demo-provider"/> <dubbo:registry address="zookeeper://127.0.0.1:2181"/> <dubbo:protocol name="dubbo" port="20890"/> XML�� IDL @idl HelloWorld{ String sayHello(String helloMsg) } } IDL����Thrift�gRPC������� XML������dubbo���Spring Cloud�� � 14 ���� N 服务通p协议OH552、5C2、U(2等P N 数据f输方式O同步、异步P N 数据序列化OJ41N序列化、2B序列化等P<dubbo:service interface="org.apache.dubbo.samples.basic.api.DemoService" ref="demoService"/> 0 码力 | 120 页 | 82.16 MB | 1 年前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 年前3SOFAMesh的通用协议扩展
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 | 5 月前3Nacos架构&原理
开源分享阿里软负载最佳实践,希望能够帮助到各位开 发者,各位系统架构师,少走弯路。 阿里巴巴云原生应用平台负责人 - 丁宇(叔同) 在阿里中间件开源、自研、商业三位⼀体的战略中,微服务 DNS(Dubbo+Nacos+Spring-cloud- alibba/Sentinel/Seata)组合始终走在前列,引领着微服务领域的发展趋势。Nacos 作为核心引擎 孵化于 2008 年的阿里五彩石项目,自主研发完全可控,经历十多年双 情怀,是⼀种文化,是⼀种展示技术影响力和技术实力的方式,包括我在内很多阿里技术人都是因 此影响加入。阿里凭借着互联网场景和规模的优势走在了时代的前列,完成了去 IOE ,创造了企业 级互联网架构等壮举,并且开源了很多自主产品如 Dubbo、RocketMQ、Tengine、Jstorm 等,产 生了巨大的影响力,在互联网行业广泛使用,但是这⼀阶段的开源除了情怀和展示技术影响力之后 很难量化对公司的价值,因此也比较难以持续发展。第二个阶段是 产品合并统⼀开源。定位为:⼀个更易于构建云原生应用的动态服务发现、配置管理和服务管理平 台。由于我们在阿里内部发展了 10 年,在易用、规模、实时、稳定沉淀了核心竞争力,围绕阿里 Dubbo 和 Spring-cloud-alibaba 生态进行推广,建立阿里 DNS(Dubbo+Nacos+Spring- cloud-alibaba/Seata/Sentinel)微服务最佳实践。 随着我们选择三合⼀的开源模式,又面临另外0 码力 | 326 页 | 12.83 MB | 9 月前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 年前313 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 | 5 月前3API7 ⽹关技术⽩⽪书
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 年前3Node 在有赞的实践
10 模板渲染 业务编排 接⼝口转发 业务逻辑 服务接⼝口 服务化 Node.js 11 如何调⽤用? Node.js 12 ⽅方案 2:Node 直接⽀支持 Java Dubbo 接⼝口调⽤用 ⽅方案3:对⽅方案 2 进⾏行行了了优化 ⽅方案 1:Java 添加注解⽅方式⽣生成 Restful API 13 @POST @Path("regist") public ⽅方案 2:Node 直接⽀支持 Java Dubbo 接⼝口调⽤用 16 开源社区有哪些现成解决⽅方案? Node.js 服务注册中⼼心:ETCD、Zookeeper Java 1. 服务注册 2. 服务发现 3. TCP ⻓长链接建⽴立、Hession 协议解析、负载均衡、服务调⽤用 ⽅方案 2:Node 直接⽀支持 Java Dubbo 接⼝口调⽤用 17 Node ETCD 。 • 2. Node 框架需要负责 hession 协议解析,对开发要求 比较高; • 3. 其他语言(PHP)也得实现一遍 19 ⽅方案 2:Node 直接⽀支持 Java Dubbo 接⼝口的调⽤用 20 Node ETCD Java Tether HTTP 1. 服务注册 2. 服务发现 3. 服务调⽤用 4. ⻓长链接建⽴立 Hession 数据包透传0 码力 | 29 页 | 945.50 KB | 1 年前32021 中国开源年度报告
7012870620900 3092 9141 14 apache/dolphinscheduler 1309 1359 1326 1107 15 apache/dubbo 1907.2779679868600 5044 4904 15 apache/dubbo 825 1266 956 1092 16 tikv/tikv 1900.5971171139700 2408 18928 16 tikv/tikv 7012870620900 3092 9141 14 apache/dolphinscheduler 1309 1359 1326 1107 15 apache/dubbo 1907.2779679868600 5044 4904 15 apache/dubbo 825 1266 956 1092 16 tikv/tikv 1900.5971171139700 2408 18928 16 tikv/tikv 7012870620900 3092 3 apache/ dolphinscheduler 9141 1309 1359 1326 1107 4 apache/dubbo 1907.2779679868600 5044 4 apache/dubbo 4904 825 1266 956 1092 5 apache/skywalking 1886.7815310808000 3880 5 apache/skywalking0 码力 | 132 页 | 14.24 MB | 1 年前3
共 96 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10