SOFAMesh的通用协议扩展
SOFA MESH 的通用协议扩展 Service Mesh Meetup #3 深圳站 邵俊雄(熊啸) 2018.08.25AGENDA • SOFA MESH 介绍 • SERVICE MESH 落地的问题 • SOFA MESH 的通用落地方案 • DNS 服务寻址方案 • X-PROTOCOL 通用协议 • 问答SOFA MESH • 从 ISTIO 克隆并保持同步更新 • 使用 寻址 • 使用 iptables/ebpf 透明地路由所有网络流量 • 服务治理规则,服务,实例和配置都是 Kubernetes 资源 • 使用 Controller Pattern 通过 CRD 扩展新的能力 • …MESH 落地碰到的问题 • 客户端服务发现与负载均衡无法与 ISTIO 一起工作 • ENVOY 不支持微服务使用的通信协议 • RPC 服务使用的接口,方法,参数语义无法匹配 ISTIO Kubernetes 服务 RPC Service 的域名就是其接口X-PROTOCOL 通用协议扩展目标 • Kubernetes Native,高性能,低侵入性的通用 Mesh 落地方案 • 支持新 RPC 框架和通信协议低成本接入 • 协议扩展对 Mesh 控制平面透明化 • 允许对协议多层次,插件化的扩展X-PROTOCOL 配置SOFA MOSN 调用流程 Upstream protocol0 码力 | 28 页 | 4.73 MB | 5 月前3Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践
Operator Pattern:用 Go 扩展 K8s 的最佳实践 吴学强 ApeCloud KubeBlocks Maintainer & 研发总监 目 录 认识我们 00 什么是 Operator 01 Operator 基础模型 02 Operator 最佳实践 03 我们是谁 云猿生(ApeCloud)是一家提供数据库内核与管理平台的基 础软件开发商. KubeBlocks Operator Pattern 2015.11 2016.12 2017.12 Now K8s 1.1 版本中正式推出 TPR (ThirdPartyResource),首次尝 试解决 K8s API 的扩展性问题, 但存在诸多问题,Alpha 阶段既 夭折 CoreOS 提出 Operator 概念,用 于管理和运行基于应用程序领 域的复杂有状态应用程序。 给出了用 TPR + controller-0 码力 | 21 页 | 3.06 MB | 9 月前313 Istio 流量管理原理与协议扩展 赵化冰
Istio 流量管理原理与协议扩展 赵化冰 赵化冰 腾讯云 服务网格团队 https://zhaohuabing.com Service Mesh Service Mesh Layer 处理服务间通信(主要是七层通信)的云原生基础设施层: Service Mesh 将各个服务中原来使用 SDK 实现的七层通信相关功能抽象 出来,使用一个专用层次来实现,Service Mesh 对应用透明,因此应用 Istio 支持的七层协议非常有限:HTTP 1.1、 HTTP2、 gRPC 其余协议只能在四层进行处理(Thrift、Redis 等其他七层协议的控制面支持非常有限) 11 Istio 协议扩展:控制面和数据面需要进行的改动 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: reviews-route xDS 配置下发 优点: • 控制面改动小,可以快速实现对新协议的支持 问题: • Pilot 目前缺少一个良好的协议扩展机制 • Pilot 需要理解 Envoy filter 中协议特定的知识 • Pilot 代码中维护众多七层协议的代价较大 12 Istio 协议扩展:常见七层协议的路由 Protocol Destination service Parameters could be0 码力 | 20 页 | 11.31 MB | 5 月前3TiDB 与 TiFlash扩展——向真 HTAP 平台前进 韦万
0 码力 | 45 页 | 2.75 MB | 5 月前3基于 Kubernetes 构建标准可扩展的云原生应用管理平台-孙健波、周正喜
1 阿里云 — 云原生应用平台团队 孙健波/周正喜 基于 Kubernetes 构建标准可扩展的云原生应用管理平台 2 3 有奖品? 我的工作内容? • 构建云原生应用管理平台 @ 阿里巴巴 Kubernetes 工程师 PaaS 工程师 基础设施运维工程师 … YAML 工程师 我们是如何构建的? PaaS Serverless Operator Platform 研发与运维人员日益增长的应用管理诉求 传统 PaaS 有限的、不可扩展的专有API 与能力 K8s 生态“无限”的应用基础设施能力 不停构建“PaaS”平台不是“银弹” 与其 基于 K8s 构建平台 不如 把 K8s 变成面向开发者的平台 构建一个具备“以应用为中心的 API 抽象”、“用户友好” 且“高度可扩展”的 K8s! 以应用为中心的 API 抽象 • 应用的工作负载和运维能力的抽象程度越高,用户体验越好 route $ rio up riofile 抽象程度 vs 可扩展性 • 随着抽象程度的增高可以显著降低学习曲线,但是却不得不在扩展性上妥协 抽象程度 可扩展性 高 低 低 高 CRD + Controllers = Everything 通过编写遵循严格限制 的 Buildpack 和 Addon 进行扩展 没有直接扩展 工作负载 和 运维能力 的途径 通过 annotations0 码力 | 27 页 | 3.60 MB | 9 月前3Python 标准库参考指南 3.13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 11.7 glob --- Unix 风格的路径名模式扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 11.7.1 例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 12.5.1 dbm.sqlite3 --- 针对 dbm 的 SQLite 后端 . . . . . . . . . . . . . . . . . . . . . . . 492 12.5.2 dbm.gnu --- GNU 数据库管理器 . dbm.dumb --- 便携式 DBM 实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 12.6 sqlite3 --- SQLite 数据库的 DB-API 2.0 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . 496 12.6.1 教程 . . .0 码力 | 2246 页 | 11.74 MB | 9 月前3Python 标准库参考指南 3.13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 11.7 glob --- Unix 风格的路径名模式扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 11.7.1 例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 12.5.1 dbm.sqlite3 --- 针对 dbm 的 SQLite 后端 . . . . . . . . . . . . . . . . . . . . . . . 488 12.5.2 dbm.gnu --- GNU 数据库管理器 . dbm.dumb --- 便携式 DBM 实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 12.6 sqlite3 --- SQLite 数据库的 DB-API 2.0 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . 492 12.6.1 教程 . . .0 码力 | 2242 页 | 11.73 MB | 9 月前3Python 标准库参考指南 3.12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 11.7 glob --- Unix 风格的路径名模式扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 11.8 fnmatch --- Unix 文件名模式匹配 . dbm.dumb --- 便携式 DBM 实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 12.6 sqlite3 --- SQLite 数据库的 DB-API 2.0 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . 477 12.6.1 教程 . . . 字符的工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782 16.13 curses.panel --- 针对 curses 的面板栈扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . 786 16.13.1 函数 . . . . . . . . . . . . . .0 码力 | 2253 页 | 11.81 MB | 9 月前3Python 标准库参考指南 3.12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 11.7 glob --- Unix 风格的路径名模式扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 11.8 fnmatch --- Unix 文件名模式匹配 . dbm.dumb --- 便携式 DBM 实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 12.6 sqlite3 --- SQLite 数据库的 DB-API 2.0 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . 477 12.6.1 教程 . . . 字符的工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782 16.13 curses.panel --- 针对 curses 的面板栈扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . 786 16.13.1 函数 . . . . . . . . . . . . . .0 码力 | 2253 页 | 11.81 MB | 9 月前3Python 标准库参考指南 3.11.10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 11.7 glob --- Unix 风格路径名模式扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 11.8 fnmatch --- Unix 文件名模式匹配 dbm.dumb --- 便携式 DBM 实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 12.6 sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块 . . . . . . . . . . . . . . . . . . . . . . . . 469 12.6.1 教程 . . . . ASCII 字符的工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . 759 16.13 curses.panel --- curses 的面板栈扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763 16.13.1 函数 . . . . . . . . . . . .0 码力 | 2248 页 | 11.10 MB | 9 月前3
共 178 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18