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
Nacos架构&原理
简介 13 Nacos 架构 17 Nacos 总体设计 17 Nacos 架构 17 Nacos 配置模型 21 Nacos 内核设计 28 Nacos ⼀致性协议 28 Nacos 自研 Distro 协议 38 Nacos 通信通道 42 Nacos 寻址机制 56 Nacos 服务发现模块 63 Nacos 注册中心的设计原理 63 Nacos 注册中心服务数据模型 规模:十万级服务/配置,百万级连接,具备强大扩展性。 15 > 简介 Nacos 生态 Nacos 几乎支持所有主流语言,其中 Java/Golang/Python 已经支持 Nacos 2.0 长链接协议,能 最大限度发挥 Nacos 性能。阿里微服务 DNS(Dubbo+Nacos+Spring-cloud-alibaba/Seata/ Sentinel)最佳实践,是 Java 微服务生态最佳解决方案;除此之外,Nacos 接口,简单易用,方便多语言集成。 Console:易用控制台,做服务管理、配置管理等操作。 SDK:多语言 SDK,目前几乎支持所有主流编程语言。 Agent:Sidecar 模式运行,通过标准 DNS 协议与业务解耦。 CLI:命令行对产品进行轻量化管理,像 git ⼀样好用。 业务层 服务管理:实现服务 CRUD,域名 CRUD,服务健康状态检查,服务权重管理等功能。 配置管理:实现配置管0 码力 | 326 页 | 12.83 MB | 10 月前3
Raft在Curve存储中的工程实践稳定性挑战 • 算力平台kubernetes的迅速发展 • AI/大数据业务的快速增长 • 存储使用Ceph文件存储/HDFS • 成本/性能挑战 Curve块存储和文件存储均采用raft协议整体架构 • 对接OpenStack平台为云主机提供高性能块 存储服务 • 对接Kubernetes为其提供RWO、RWX等类 型的持久化存储卷 • 对接PolarFS作为云原生数据库的高性能存储 Curve对raft的优化RAFT协议简介 什么是raft • raft 是一种新型易于理解的分布式一致性复制协议,由斯坦福大学的Diego Ongaro和John Ousterhout提出,《In Search of an Understandable Consensus Algorithm(Extended Version)》 • raft 是一种Leader-Based的Multi-Paxos变种,提供了 更完整更清晰的协议描述,更容易理解和实现。 • raft可以解决分布式理论中的CP,即一致性和分区容忍性 • 大多数副本成功即可返回成功 • 速度取决于写的较快的大多数RAFT协议简介 • Leader:负责从客户端接受日志,把日志复制到其 他服务器,当保证安全性的时候告诉其他服务器应用 日志条目到他们的状态机中。 • Candidate: 发起选举。获取大多数选票的候选人将 成为领导者。0 码力 | 29 页 | 2.20 MB | 6 月前3
PingCAP TiDB&TiKV Introduction OLTPHDFS TiDB TiKV NewSQL | TiDB Google Spanner / F1 - The First NewSQL ● 全球级别分布式 / 跨数据中心复制 ○ Paxos ● ACID 事务支持 ○ 两阶段提交 ● 无锁快照读 / 无锁只读事务 ○ MVCC ● External Consistency ○ TrueTime API ● SQL 支持 ● the Next 新一代NewSQL分布式关系型数据库 Ti Project (TiDB + TiKV) ● 基于 2013 年 Google Spanner / F1 论文 ● 基于 2014 年 Stanford 工业级分布式一致性协议实现 Raft 论文 概括: 无限水平线性扩展、高并发高吞吐、跨数据中心多活、MySQL 兼容的真正意义上的分布式数据库 ● 我们是全球仅有的在该领域进行技术创新的两家公司之一(对标美国 CockroachDB) JDBC) TiDB TiKV RPC MySQL Protocol F1 Spanner Applications TiDB ● 开源 F1 实现 ● 无状态的分布式 SQL 层 ● MySQL 协议兼容 ● 针对分布式场景的执行计划,优化器 ○ Push-down / MPP ● Online DDL ○ 业务不中断,进行表结构变更 TiDB 逻辑架构 ● 支持关系型的表结构 ● 全局一致索引0 码力 | 21 页 | 613.54 KB | 6 月前3
蚂蚁金服网络代理演进之路2010年前部署商用设备 前世 01 2010 开始网络代理白盒 化,定制业务逻辑,软 硬件一体解决方案 自研 02 2015 年无线通道协议,安 全升级, 连接收编 All in 无线 03 PC时代 移动时代 万物互联云原生时代 2018 年协议,安全持续升 级(QUIC,MQTT,国密), 云原生 再启程 03前世 F5 BigIP Netscaler自研四层网络代理 2011 支持蚂蚁LDC架构,三地五中心容灾架构 • 全面上线SSL加速卡,提供软硬件一体加速方案 2015 • All in 无线,通信通道全面升级(MMTP,MTLS协议) 2016 • 安全防护能力提升,WAF,流量镜像 2018至 今 • 通信协议,架构,安全再次升级(物联终端接入,QUIC协议,国密,可信计算, 海外加速,云原生)金融级三地五中心容灾架构(LDC) 单机房 LDC 同城双活 LDC 异地多活 Nitrox软硬件一体解决方案 SSL握手性能 提升3倍 • 对Spanner实现了异步化改造 • 对openssl进行了异步化引擎改造 • 实现多芯片卡的负载均衡协议实现的改造-MTLS MTLS:1) 轻量级TLS库,小于50k;2) 优化的TLS协议 0-RTT • 减少握手延迟 • 代价:握手前发送的数据不能 保证防重放攻击,因此要求应 用程序自己保证防重放攻击 Small Ticket •0 码力 | 46 页 | 19.93 MB | 6 月前3
Python 标准库参考指南 3.8.20 13 xml.parsers.expat --- 使用 Expat 的快速 XML 解析 . . . . . . . . . . . . . . . . . . . . . . 1166 21 互联网协议和支持 1177 21.1 webbrowser --- 方便的 Web 浏览器控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 21.12 http.client --- HTTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1226 21.13 ftplib --- FTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1232 21.14 poplib --- POP3 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237 21.15 imaplib --- IMAP4 协议客户端 . . . . . . . . . . . . . . . . . . . . .0 码力 | 2052 页 | 9.74 MB | 10 月前3
Python 标准库参考指南 3.7.13 13 xml.parsers.expat --- 使用 Expat 的快速 XML 解析 . . . . . . . . . . . . . . . . . . . . . . 1101 22 互联网协议和支持 1111 22.1 webbrowser --- 方便的 Web 浏览器控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156 22.12 http.client --- HTTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158 22.13 ftplib --- FTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165 22.14 poplib --- POP3 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170 22.15 imaplib --- IMAP4 协议客户端 . . . . . . . . . . . . . . . . . . . . .0 码力 | 1961 页 | 9.14 MB | 10 月前3
Python 标准库参考指南 3.7.13 21.13 xml.parsers.expat --- 使用 Expat 的快速 XML 解析 . . . . . . . . . . . . . . . . . . . . 1040 22 互联网协议和支持 1049 22.1 webbrowser --- 方便的 Web 浏览器控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049 . . . . . . . . . 1091 22.12 http.client --- HTTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1093 22.13 ftplib --- FTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099 22.14 poplib --- POP3 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104 22.15 imaplib --- IMAP4 协议客户端 . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1846 页 | 9.09 MB | 10 月前3
Python 标准库参考指南 3.8.20 20.13 xml.parsers.expat --- 使用 Expat 的快速 XML 解析 . . . . . . . . . . . . . . . . . . . . 1089 21 互联网协议和支持 1099 21.1 webbrowser --- 方便的 Web 浏览器控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099 . . . . . . . . . 1143 21.12 http.client --- HTTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145 21.13 ftplib --- FTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1151 21.14 poplib --- POP3 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156 21.15 imaplib --- IMAP4 协议客户端 . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1927 页 | 9.69 MB | 10 月前3
共 90 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9













