SOFAMesh的通用协议扩展SOFA MESH 的通用协议扩展 Service Mesh Meetup #3 深圳站 邵俊雄(熊啸) 2018.08.25AGENDA • SOFA MESH 介绍 • SERVICE MESH 落地的问题 • SOFA MESH 的通用落地方案 • DNS 服务寻址方案 • X-PROTOCOL 通用协议 • 问答SOFA MESH • 从 ISTIO 克隆并保持同步更新 • 使用 使用 Controller Pattern 通过 CRD 扩展新的能力 • …MESH 落地碰到的问题 • 客户端服务发现与负载均衡无法与 ISTIO 一起工作 • ENVOY 不支持微服务使用的通信协议 • RPC 服务使用的接口,方法,参数语义无法匹配 ISTIO 的路由模 型 • 一个应用上部署了多个 RPC 服务,每个服务有自己的版本 • …ISTIO 控制平面路由的抽象模型 INBOUND DUBBO 服务的路由规则 XDS 适配 • 开发 DUBBO 协议支持SOFA MESH 的统一解决方案 • 采用 Kubernetes Native 方式落地微服务应用 • 使用 INTERFACE 作为 DNS 来寻址服务 • 开发一个通用协议处理框架 • 避免为不同的微服务框架修改 PILOT 代码 • 通过插件的方式按需支持新的协议 • 对应用代码无侵入性 • 为微服务框架提供轻量化客户端落地一个微服务框架需要的工作0 码力 | 28 页 | 4.73 MB | 6 月前3
13 Istio 流量管理原理与协议扩展 赵化冰Istio 流量管理原理与协议扩展 赵化冰 赵化冰 腾讯云 服务网格团队 https://zhaohuabing.com Service Mesh Service Mesh Layer 处理服务间通信(主要是七层通信)的云原生基础设施层: Service Mesh 将各个服务中原来使用 SDK 实现的七层通信相关功能抽象 出来,使用一个专用层次来实现,Service Mesh 对应用透明,因此应用 通信安全: 服务身份认证、访问鉴权、通信加密 Proxy Application Layer Service 1 Istio 流量管理 – 概览 • 控制面下发流量规则: Pilot • 数据面标准协议:xDS • 集群内Pod流量出入: Sidecar Proxy • 集群外部流量入口:Ingress Gateway • 集群外部流量出口:Egress Gateway(可选,在一个集中点对外部访问进行控制) Service CLB 对外请求 对外请求(Passthrough/ServiceEntry) 缺省路由 (服务名) 5 Istio 流量管理 – 数据面 – Envoy配置模型和xDS协议 ADS Server LDS RDS CDS EDS Envoy 配置模型的主要概念: • Downstream:连接到 Envoy 的下游 Host,发送请求并接收响应。 • Upstream:0 码力 | 20 页 | 11.31 MB | 6 月前3
全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量服务网格中管理任何七层流量 赵化冰@腾讯云 #IstioCon Huabing Zhao Software Engineer @ Tencent Cloud https://zhaohuabing.com @zhaohuabing @zhaohuabing @zhaohuabing @zhaohuabing #IstioCon Agenda ❏ Service Mesh 中的七层流量管理能力 中的七层流量管理能力 ❏ 几种扩展 Istio 流量管理能力的方法 ❏ Aeraki - 在 Isito 服务网格中管理所有七层流量 ❏ Demo - Dubbo Traffic Management ❏ MetaProtocol - Service Mesh 通用七层协议框架 #IstioCon Protocols in a Typical Microservice Application Service Security, Observability) #IstioCon What Do We Expect From a Service Mesh? 为了将基础设施的运维管理从应用代码中剥离,我们需要七层的流量管 理能力: ● Routing based on layer-7 header ○ Load balancing at requet level ○ HTTP host/header/url/method0 码力 | 29 页 | 2.11 MB | 1 年前3
蚂蚁金服网络代理演进之路2010年前部署商用设备 前世 01 2010 开始网络代理白盒 化,定制业务逻辑,软 硬件一体解决方案 自研 02 2015 年无线通道协议,安 全升级, 连接收编 All in 无线 03 PC时代 移动时代 万物互联云原生时代 2018 年协议,安全持续升 级(QUIC,MQTT,国密), 云原生 再启程 03前世 F5 BigIP Netscaler自研四层网络代理 2011 2014 2018 未来 Ø 全面使用DPDK技术重构 Ø EBPF,XDP Ø 可编程交换芯片(P4语言) Ø 四层负载均衡-IPVS Ø NAT网关蚂蚁七层网络代理 Google Spanner?蚂蚁七层网络接入代理 Spanner蚂蚁七层网络接入代理 AGNA (Ant Global Network Accelarator) 网商 信用 保险 财富 支付 国际支付 小程序 微贷 科技开放 支持蚂蚁LDC架构,三地五中心容灾架构 • 全面上线SSL加速卡,提供软硬件一体加速方案 2015 • All in 无线,通信通道全面升级(MMTP,MTLS协议) 2016 • 安全防护能力提升,WAF,流量镜像 2018至 今 • 通信协议,架构,安全再次升级(物联终端接入,QUIC协议,国密,可信计算, 海外加速,云原生)金融级三地五中心容灾架构(LDC) 单机房 LDC 同城双活 LDC 异地多活0 码力 | 46 页 | 19.93 MB | 6 月前3
Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展身份认证 通信加密 权限控制 ... 调用追踪 指标收集 ...什么是Service Mesh?- 从网络的视角 Service Mesh关注点 网络视角: Service Mesh是一个主要针对七层的网络解决方案,解决的是服务间的连通问题Service Mesh是下一代的SDN吗? 通信网络 l 互不兼容的专有设备 l 基于IP的通信缺乏质量保证 l 低效的业务部署和配置 ... 微服务系统 相似的解决方案:数据面+控制面+应用 • 不同的协议层次:SDN 2-4层,Service Mesh 主要为7层 SDN对Service Mesh发展的启发: Ø 北向接口 • 面向业务和运维 • 具有较高的抽象层次,比较容易提取统一的控制面标准? • 主要面向layer 7及以上? • SMI能否统一控制面标准?如何避免成为最小公分母,扩展支持其它协议? Ø 南向接口 • 面向流量和路由配置 面向流量和路由配置 • xDS v2将统一数据面标准? • xDS接口包含有较多实现相关内容:Listener, Filter, 能否可以成为一个通用的接口协议? 是否会出现Envoy之外的大量数据面实现? • 建议:对xDS接口进行改进,去掉实现相关内容 Ø Service Mesh的发展 • 控制面对数据面软硬件的统一控制能力? • 通过控制面API接入各种丰富的应用场景 - 下一个热点?总体架构-高层视图0 码力 | 27 页 | 11.99 MB | 6 月前3
API7 ⽹关技术⽩⽪书⼼,ETCD天然⽀持分布式、⾼可⽤,并且在K8s等领域有⼤量实践 经验,使得API7可以轻松⽀持毫秒级配置更新、⽀撑数千⽹关节点;⽹关节点⽆状态,可任意扩容或 缩容; 协议转换 3. ⽀持丰富的协议类型,如TCP/UDP、Dubbo、MQTT、gRPC、SOAP、WebSocket等; 安全防护 4. 内置多种⾝份验证与安全防护能⼒,如BasicAuth、JSON 请求中Header、Query、Cookie等参数进⾏分 流; • 协议转换:API7⽀持丰富的协议,如TCP/UDP、Dubbo、MQTT、gRPC、WebSocket等,并能 够实现HTTP协议到后端服务其它协议的转换。API⽹关对外暴露统⼀HTTP⼊⼝,管理员可通过 控制台界⾯完成协议转换设置,⽀持请求与后端服务的参数映射; • 服务治理:API7⽀持熔断 4功能列表 分类 功能模块 功能点 API7 Kon g Zuul 2 Ngin x SpringCloud Gateway API 和服 务治 理 协议⽀持 HTTP/1.1、HTTP2 ✔ ✔ ✔ ✔ ✔ HTTP/3 ✔ ✔ ✖ ✖ ✔ TLS/HTTPS ✔ ✔ ✔ ✔ ✔ MQTT0 码力 | 19 页 | 1.12 MB | 1 年前3
Istio + MOSN 在 Dubbo 场景下的探索之路根据变化的资源类型判断需要下发的 xDS资源 • 构建 xDS 资源,下发到连接的 Sidecar10/23 xDS Sidecar 通过动态获取服务信息,对服务的发现 API 被称为 xDS。 • 协议部分(ADS、控制发送的顺序以及返回的确认数据) • 数据部分(CDS、EDS、LDS、RDS、SDS)11/23 资源变化 资源名称 CDS EDS LDS RDS Virtualservices MOSN 是一款使用 Go 语言开发的网络代理软件,作为云原生的网络数据平面,旨在为服务提供 多协议、模块化、智能化、安全的代理能力。MOSN 是 Modular Open Smart Network 的简称。 MOSN 可以与任何支持 xDS API 的 Service Mesh 集成,亦可以作为独立的四、七层负载均衡, API Gateway,云原生 Ingress 等使用。 配置文件 • mosn_config 从数据面、控制面两个方面来介绍如何改造17/23 改造方案1 Istio+Envoy • 通过创建 EnvoyFilter 资源来给 xDS 资源打 patch • Envoy 解析 Dubbo 协议中的 Serivce 和 Method • 根据路由策略配置把流量转发到对应的 Provider • 通过WASM扩展 华为云:https://support.huaweicloud.com/0 码力 | 25 页 | 3.71 MB | 6 月前3
Envoy原理介绍及线上问题踩坑Copyright © Huawei Technologies Co., Ltd. All rights reserved. Page 5 Envoy介绍 • Envoy采用C++实现,本身为四层及七层代理,可以根据用户应用请求内的数据进行高级服务治理 能力,包括服务发现、路由、高级负载均衡、动态配置、链路安全及证书更新、目标健康检查、 完整的可观测性等。 • 目前常见数据面主要有三种:Env 目前常见数据面主要有三种:Envoy、Linkerd、Traefic。Envoy由于高性能和扩展能力前在数据面遥 遥领先。 • Iptables使Pod间出入应用的流量均由Envoy代理,对应用来说完全透明。支持主要常用网路协议 Http1/Http2/Tls/gRPC/Tcp等。 Copyright © Huawei Technologies Co., Ltd. All rights reserved. Page 6 建立长连接,通过xDS协议接收系统下发的监听器、路由、集群节点等更新信息。 • 3. 数据面通信 • 客户端请求进入容器网络,并被iptables规则拦截,经过DNAT后进入Envoy virtualOutbound监听器 • virtualOutbound经过监听过滤器恢复用于原始目标服务,并找到后端处理器处理新连接。 • 后端处理器在配置中指定处理协议,根据协议相关的网络过滤器处理读取到的数据。0 码力 | 30 页 | 2.67 MB | 1 年前3
OpenShift Container Platform 4.8 日志记录OPENSHIFT LOGGING 5.6 中支持的日志数据输出类型 7.8. 将日志转发到外部 ELASTICSEARCH 实例 7.9. 使用 FLUENTD 转发协议转发日志 7.10. 使用 SYSLOG 协议转发日志 7.11. 将日志转发到 AMAZON CLOUDWATCH 7.12. 将日志转发到 LOKI 7.13. 从特定项目转发应用程序日志 7.14. 从特定 POD OpenShift Container Platform 4.8 日志 日志记录 记录 14 1.9.1. 技术预览 重要 重要 向量只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且 功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提 早试用新的功能,并有机会在开发阶段提供反馈意见。 有关红帽技术预览功能支持范围的详情,请参考 https://access 第 1 章 章 LOGGING 发 发行注 行注记 记 15 其他 其他资 资源 源 向量文档 重要 重要 Loki Operator 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA) 支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以 使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。 有关红帽技术预览功能支持范围的详情,请参考 https://access0 码力 | 223 页 | 2.28 MB | 1 年前3
OpenShift Container Platform 4.6 在vSphere 上安装您必须配置机器之间的网络连接,以允许 OpenShift Container Platform 集群组件进行通信。 查看有关所需网络端口的以下详细信息。 表 1.2. 用于全机器到所有机器通信的端口 协议 协议 端口 端口 描述 描述 ICMP N/A 网络可访问性测试 TCP 1936 指标 9000-9999 主机级别的服务,包括端口 9100-9101 上的节点导出器和端 口 9099 上的 Encapsulating Security Payload(ESP) 协议 协议 端口 端口 描述 描述 表 1.3. 用于所有机器控制平面通信的端口 协议 协议 端口 端口 描述 描述 TCP 6443 Kubernetes API 表 1.4. control plane 机器用于 control plane 机器通信的端口 协议 协议 端口 端口 描述 描述 TCP 2379-2380 etcd Container Platform 集群前,必须创建以下网络资源: 注意 注意 建议集群中的每个 OpenShift Container Platform 节点都可以访问可通过 DHCP 发现的网 络时间协议(NTP)服务器。没有 NTP 服务器也可安装。但是,异步服务器时钟将导致错 误,NTP 服务器会阻止。 所需的 IP 地址 安装程序置备的 vSphere 安装需要这些静态 IP 地址: API0 码力 | 204 页 | 2.26 MB | 1 年前3
共 138 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14













