函数计算在双11小程序场景中的应用函数计算在双11小程序场景中的应用 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT自我介绍 •吴天龙(花名: 木吴) •阿里云函数计算技术专家 •2013 年加入阿里云,参与分布式数据库, 对象存储等产品的开发。现任阿里云函数 计算架构师,聚焦于 Serverless 产品功 能和大规模资源伸缩调度、性能优化等系 统核心能力的研发。❖ 函数计算介绍 ❖ 双11小程序场景介绍 ❖ 技术挑战 技术挑战 ❖ Demo 目录函数计算-介绍 • 通用Serverless计算平 台 • 与云端事件源无缝集成 • 弹性伸缩,按量付费函数计算-介绍双11小程序场景介绍小程序场景的挑战 n 安全隔离 n 开发效率 n 大量的小程序是不活跃的 n 活动高峰期流量激增函数计算-冷启动优化 Download & Extract Code User Code Init Logic Execution0 码力 | 13 页 | 6.95 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享基于Nginx扩展 • 开发不活跃 • 老牌代理系统,业界广 泛使用,服务各类场景 • C++实现 • CNCF第三个毕业项目, ISTIO原生数据平面 • 开发活跃,最新版为1.9.0 • Google, Lyft主导,业界 众多公司使用中,重点搭 载ISTIO使用,服务各类 场景 • Rust实现 • CNCF项目,最早的 Service Mesh数据平面 • 开发活跃,最新版为 18 18.9.1 • Golang实现 • 新生项目,初期旨在搭建 RPC亲和,高度可扩展性 的Golang转发系统 • 开发活跃,最新版为0.4.0 • 蚂蚁+UC主导,重点搭载 SOFAMesh使用,目标服 务通用场景,金融场景SOFAMOSNSOFAMOSN内部模块设计SOFAMOSN数据流SOFAMOSN数据流持续演进路径 & 技术案例能力 0.1.0 0.2.0 0.3.0 0.4 继续读取数据技术案例 – HTTP/2.0优化 官方HTTP/2.0实现问题: 1. syscall read较多,效率低下 2. 每个stream分配单独的goroutine处理, 调度开销高 3. 临时对象多,GC占比高 4. 基本实现了RFC中MUST部分,部分功 能需求上不匹配,如GRPC trailer实现技术案例 – HTTP/2.0优化 优化思路:适配MOSN框架,复用官方实现核心结构体和解析流程0 码力 | 29 页 | 7.03 MB | 6 月前3
Service Mesh 在『路口』的产品思考与实践拆解为独立进程, 以 Sidecar 的模式运行 将服务治理能力下沉到基础设施,实现独立演进,透明升级7/39 异构系统统一治理 Part 1: 为什么需要Service Mesh? 多语言、多协议 图片来源:https://www.redhat.com/en/topics/microservices/what-is-a-service-mesh 流量控制、监控8/39 金融级网络安全 在当下『路口』的思考 Greenfield vs Brownfield Greenfield • 绿地,未开发过的土地 • 全新的项目/新系统 图片来源:https://faasandfurious.com/90 Brownfield • 棕地,已开发/污染过的土地 • 成熟的项目/遗留系统12/39 Part 2: 在当下『路口』的思考 • 大量的应用还跑在非 大量的应用还跑在非 k8s 体系上(VM、独立的注册中心等) • 当下这些 brownfield 应用的业务价值往往更大,如何把它们纳入 Service Mesh 统一管控? 现实场景 – Brownfield 应用当道 图片来源:https://medium.com/next-level-german-engineering/comparison-of-two-different-approa0 码力 | 40 页 | 15.86 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路大规模微服务架构下的 Service Mesh探索之路 敖小剑6月初在深圳举行的GIAC全球互联网架构大会上,蚂蚁金服第一次对外 透露了开发中的Service Mesh产品——Sofa Mesh。 今天我们将展开更多细节,详细介绍蚂蚁金服Sofa Mesh的技术选型, 架构设计以及开源策略。 前言技术选型 Technical 1ü 性能要求 • 以蚂蚁金服的体量,性能不够好则难于接受 ü 部署的要求 • 需要用于多种场合:主站,金融云,外部客户 • 需要满足多种部署环境:虚拟机/容器,公有云/私有云,k8s • 需要满足多种体系:Service Mesh,Sofa和社区主流开发框架 Service Mesh落地要面临的实际要求选择开源产品,还是选择自研? 起点:开源 起点:自研 全新打造;或依托现有SDK Fork,增强,扩展,定制,集成 回馈社区,反哺开源 维持版本更新,同步升级 Mesh:istio的增强扩展版 Pilot Auth Mixer Envoy Pilot Auth Mixer Golang Sidecar Istio现有架构 Sofa Mesh架构 1. 用Golang开发 Sidecar,替代Envoy 2. Mixer被部分合 并进入Sidecar 3. Pilot/Auth 做扩展和增强 Control plane Control plane Data0 码力 | 37 页 | 7.99 MB | 6 月前3
Service Mesh的延伸 — 论道Database MeshMiddleware Database-as-a-Service What's Really New with NewSQL?数据库中间层的优势 系统 •事务 运维 • DBA 开发 • SQL数据库中间层应具备的能力 分片化 多副本 数据一致性 弹性化 治理能力 观察能力数据分片 App2 DB App1 App3 App2 DB1 DB2 DB3 App1 App3数据分片:引入中间件 实现TCC接口 回滚 支持 不支持 支持 支持 一致性 强一致 最终一致 最终一致 最终一致 隔离性 原生支持 不支持 不支持 Try接口支持 并发性能 严重衰退 无影响 无影响 略微衰退 适合场景 短事务 并发较低 事务最终成功 高并发 长事务 应用方控制并发 高并发 长事务 高并发分布式事务:柔性事务自动化 快照记录 • INSERT • 解析 • 记录 • UPDATE&DELETE & 禁用 安全 & 权限 & 脱敏 APM现有实现方案对比 客户端 • 支持任意数据库 • 数据库连接数占用高 • 仅支持单一开发语言 • 性能损耗低 • 无中心化 代理端 • 仅支持单一数据库 • 数据库连接数占用低 • 支持任意开发语言 • 性能损耗高JDBC Proxy Sidecar 数据库 任意 单一 单一 连接数 高 低 高 异构语言 仅Java 任意 任意0 码力 | 35 页 | 4.56 MB | 6 月前3
陌陌Service Mesh架构实践陌陌中间件架构师1/24 讲师简介 高飞航,陌陌中间件架构师 2011年 毕业于东北大学 加入淘宝网 交易平台团队 负责交易流程业务研发 2013年 加入陌陌 基础平台组 负责多项中间件产品研发、多机房架构建设 在微服务领域具备丰富的经验 当前关注Service Mesh、云原生等技术方向2/24 /01 /02 /03 背景 问题 实践 微服务体系演进历程 架构痛点与解决思路 Service 自研数据平面与 控制平面方案 使存量服务接入Mesh 方案 对接大量内部系统 关键收益均由数据平面产生 非完善的控制平面功能 技术体系内不引入Go语言 最成熟的服务端语言为Java 使用Java开发 数据平面Agent14/24 整体架构 数据平面 • 现有协议的流量转发 • Agent平滑升级机制 控制平面 • 轻量的Pilot Proxy • 向Istio的标准协议靠拢 重点目标 运维Agent • 单个Pod升级Agent • 多个Pod发布编排 Agent发布流程19/24 数据平面容灾方式 服务类应用 • 场景:出流量由入流量产生 • 方案:由原有健康检测机制摘除流量 借助原有服务治理能力 特殊应用 • 场景:流式计算、定时任务 • 方案:出流量降级至本应用的其他Agent 出流量容灾20/24 数据平面性能优化 方案整体 • 新增MOA Mesh协议0 码力 | 25 页 | 1.25 MB | 6 月前3
阿里巴巴核心应用洛地 Service Mesh 的挑战与机过缓存 K8s•未来应用开发一定是 云原生 •考验好产品的标准是 云原生 •经济、技术共同体是 愿景 机遇 •基于 Service Mesh 基础面开发 •是否能很好的支持 Service Mesh •使用 Service Mesh 打通技术鸿沟三位一体,构建经济共同体 技术社区 内部支撑 商业赋能 技术输入 反哺增强 标准化生产 场景验证#2 阿里巴巴在落地 团队探索出了基于 userid 和 mark 标识流量的透明拦 截方案,基于 iptables 的 mangle 表实现了一个全新的透明拦截组件#2 短时间内支持电商业务复杂的服务治理功能 •单元化?多环境?基于参数调用的路由? 1. RPC 使用的是 Groovy 脚本,Mesh 不具备。 2. RPC 并没有将参数作为元信息放置 在请求头。#3 短时间内支持电商业务复杂的服务治理功能0 码力 | 22 页 | 6.61 MB | 6 月前3
Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展是否会出现Envoy之外的大量数据面实现? • 建议:对xDS接口进行改进,去掉实现相关内容 Ø Service Mesh的发展 • 控制面对数据面软硬件的统一控制能力? • 通过控制面API接入各种丰富的应用场景 - 下一个热点?总体架构-高层视图 DexMesh控制面 MSB-SDClient MSB-Consul Jaeger DexMesh数据面 Pod Microservice Envoy Other business logic ... 提供七层网关能力, 但和服务网格是割裂 的 提供七层网关和网格 能力,但缺少API管 理能力 提供API管理能力, 缺少服务网格能力在DexMesh场景下Mesh和API Gateway的分工与协同 External request MSB API Gateway API Management Ingress Sidecar Service 收集产品化增强-支持多网络平面 电信系统一般会有多个网络平面的,主要原因包括:避免不同功能的网络之间的 相互影响; 网络设计冗余,增强系统网络的健壮性; 为不同的网络提供不同的 SLA ;通过网络隔离提高安全性;通过叠加多个网络增加系统带宽 上图中的Kubernets集群使用了Knitter网络插件,部署了四个网络平面产品化增强-支持多网络平面 Istio1.0中不支持多网络平面,当服务地址0 码力 | 27 页 | 11.99 MB | 6 月前3
蚂蚁金服网络代理演进之路2018至 今 • 通信协议,架构,安全再次升级(物联终端接入,QUIC协议,国密,可信计算, 海外加速,云原生)金融级三地五中心容灾架构(LDC) 单机房 LDC 同城双活 LDC 异地多活 LDC 弹性伸缩混部 LDC DB Region 1 DB1 Region 1 Region 1 DB2 Region 1 Region 1 DB1 DB2 Region 2 安全软硬件一体解决方案 Intel QAT Cavium Nitrox软硬件一体解决方案 SSL握手性能 提升3倍 • 对Spanner实现了异步化改造 • 对openssl进行了异步化引擎改造 • 实现多芯片卡的负载均衡协议实现的改造-MTLS MTLS:1) 轻量级TLS库,小于50k;2) 优化的TLS协议 0-RTT • 减少握手延迟 • 代价:握手前发送的数据不能 保证防重放攻击,因此要求应 拥抱监管 • 安全可控 • 金融科技 AntTLS库 • 基于OpenSSL • 全面拥抱TLS1.3 • 国密优化实现,国密单证书标准支撑 • 支持SGX等可信机制 • 多硬件卡Engine • Mobile,iot设备等多终端支持 • OpenSSL Committer无线移动战役 操作响应慢 操作无响应 Push没消息 Push消息慢 海外消息慢 收发图片慢 建连时长 建连成功率0 码力 | 46 页 | 19.93 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘Ø定义Stream层编/解码核心接口 ü 核心数据结构复用Protocol层 Ø定义可扩展的插件机制 Ø对于满足请求Stream池化的需求 Ø需处理上层传入的状态事件PROXY 7 Ø基于Stream抽象提供多协议转发能力 Ø执行Stream扩展Filters Ø提供可扩展的路由寻址能力 Ø提供可扩展的后端管理,负载均衡,健康检查能力 Ø维护上/下游核心指标转发流程 8 IO Read Codec 能力核心能力 1 网络处理 •网络编程接口 •链接管理 •事件机制 •Metrics 收集 •TCP 代理 •TLS 支持 •TProxy 支持 •平滑 reload •平滑版本升级 多协议 •SOFA RPC •HTTP 1.x (待优化) •HTTP 2 (待优化) •Dubbo (研发中) •HSF (研发中) •On TLS 核心路由 •支持 virtual host üRuntime 内存使用率提升,arena 区内存申请频率低,大小更小 üMheap 申请系统内存减少约60%内存 3 ØSLAB-style buffer pool ü减少内存 copy ü压测场景下内存复用率90% ØGolang 内存模型亲和 üP中 mcache 缓存小于 32K 的小内存块,最大 2M ü小内存分配顺序 Pmcache -> mcentral -> mheap ->0 码力 | 44 页 | 4.51 MB | 6 月前3
共 30 条
- 1
- 2
- 3













