ArchSummit回顾:从云原生到实时数据湖,架构如何支撑业务发展
数字化、自动化、智能化的主旋律下,架构的进化也在提速。在近日举办的ArchSummit全球架构师峰会上,网易数帆高级技术专家、资深架构师裴斐和网易数帆高级技术专家周劲松分别分享了云原生业务改造和数据湖实时化的最新架构实践。
业务架构:“纵”“横”整合,云原生赋能业务改造
云原生是架构的未来,然而传统业务系统向云原生演进面临诸多痛点:在业务侧,存量业务改造不易,需要面对部署、网络、运维管控等复杂因素;在技术侧,云原生基础设施能力尚存不足,并且在迁移演进过程难以做到平滑、无感知。
为此,网易数帆提出了“纵”“横”架构实践。裴斐介绍,“纵”是解决技术难题,保障各类业务可落地,从时间线角度,分经典技术栈(如Spring Cloud,Java 代理流量网关),新晋技术栈(如服务网格、多运行时),持续推进技术能力建设;“横”则是解决场景难题,保障各种场景可支撑、可演进、稳定性,一则扩大平台覆盖业务场景的度,提升复杂场景支撑能力,二则解决业务架构演进各阶段的支撑难题,如新老共存、互通、稳定性等。
以较为典型的微服务为例,在纵向技术方面,需要分别从微服务框架、服务网格入手,解决微服务框架的痛点与进化,以及服务网格的易用性与性能稳定性提升;横向业务方面,要实现从微服务框架到服务网格的平滑演进。
具体而言,引入微服务框架面临适用范围有限、对业务侵入性大、引入框架带来的负担重、框架的升级成本高、治理能力有限、与云原生架构演进冲突等痛点。网易数帆微服务框架的“纵向进化”,通过应用性能监控(APM)惯用的无侵入 Java Agent 技术实现,核心是将传统微服务框架需要引入到业务代码的诸多框架以字节码增强的方式整合在一个 Java Agent 中,实现了服务治理能力逻辑不侵入业务代码,最终业务可以一键接入服务注册发现、熔断降级、限流、监控、配置等全套微服务治理能力。
微服务的另一个纵向技术服务网格则更为复杂,网易数帆聚焦于业务平滑接入和大规模业务集群支撑能力的打造,对于前者打造多协议支持、流量治理、核心组件热升级、治理能力增强及Envoy 网关等能力,对于后者实现了数据面性能、稳定性提升,控制面大规模集群支撑和多级容灾能力。
在“横向业务”上,从微服务框架迁移到服务网格,需要多注册中心、统一控制协议、无侵入Agent的能力,解决服务间互相发现和访问、Agent和Sidecar统一配置与管控、架构升级支撑等问题。网易数帆提出了一个双引擎多模式服务治理的平台理念,用来指导微服务技术、架构相关的平台建设工作,支持遗留业务、融合形态业务以及新开发业务之间的互相发现、互相调用、统一治理,涵盖了Agent 模式、Sidecar 模式、Agent+Sidecar模式、多运行时模式、SDK 模式等多种治理模式。
裴斐最后总结了“纵”“横”架构整合过程的“三字诀”。首先是“快”,架构决策要果决和长远,制定面向未来的架构决策,时机把控上有效切入。其次是“深”,要对核心技术进行深耕,对架构演进过程中涉及的多种技术,能够深入掌控,以不变应万变。最后是“稳”,不管是初态、中间态、终态,架构演进方案要稳字当先,逐步演进。
数据平台:流批一体,数据湖融合实时场景
数据开发模型同样面临整合与平滑演进的问题。经典的Lambda架构,是企业在离线链路技术率先成熟的背景下低成本完成大数据实时化的得力助手,然而流批分割的硬伤终究随着数据规模的增加和业务实践的深入而爆发,如数据孤岛、研发体系割裂、指标和语义二义性等,因而流批一体、湖仓一体成为近年来新的追求。
如何在既有数据平台的基础上平滑、低成本地实现这一架构演进?网易数帆为此提出了格式兼容、引擎平权的架构思想,打造流式湖仓服务(Streaming LakeHouse Service),即在主流数据湖表格式(Iceberg、Delta、Hudi等)之上用一个表服务层将数据湖与各引擎桥接,支持流批一体,并形成了开源项目Arctic。
对于Arctic,格式兼容是指百分百兼容 Iceberg / Hive 的表格式和语法,引擎平权则是同时支持 Spark 和 Flink 读写数据,以及 Trino/Impala 查询数据。周劲松介绍,Arctic通过实时数据更新、流批一体功能封装等两大能力集的打造,不仅支持流批混用场景,更解决了湖仓数据管理和优化等一系列功能、性能问题。前者包括支持主键定义、提供唯一性保障、结构自优化保障读写效率等,后者包括毫秒级延迟的实时写入/读取接口、分钟级延迟的批量写入/读取接口、Flink/Spark/Trino等引擎支持等。
其中,支持主键定义是Arctic与数据湖表格式配合的一个关键创新,不仅有助于实现更加优化的 CDC,主键唯一性约束也是Merge on read(读时合并)和optimize的基础,无论对于数据管理还是性能保障都至关重要。

在Optimize层面,Arctic的优化器通过Minor Optimize和Major Optimize相结合,分别对变更数据和基础数据进行优化(湖仓表数据变更通过三元组的元数据中心感知)。
此外,Arctic还提供了文件索引、hidden queue、多写一致性保障等功能,来确保这一架构在业务落地。
周劲松介绍,在某业务推送营销分析中,通过Arctic技术的引入,业务将批量分析切换到实时生产,实现生产流程复用,并且优化报表响应时间获得了10~100倍的提升。
小结
如同ArchSummit的主题——“升级架构思维,支撑业务发展”,无论业务架构还是数据平台,网易数帆架构实践紧扣业务发展需求,以前沿技术价值变现为目标,由此,技术攻关、架构整合、平滑演进成为现实的诉求。在此背景下,唯有苦练内功,深入理解技术本质,才能掌握架构思维的升级,进而满足业务需求。
ArchSummit回顾:从云原生到实时数据湖,架构如何支撑业务发展的更多相关文章
- 从 Hadoop 到云原生, 大数据平台如何做存算分离
Hadoop 的诞生改变了企业对数据的存储.处理和分析的过程,加速了大数据的发展,受到广泛的应用,给整个行业带来了变革意义的改变:随着云计算时代的到来, 存算分离的架构受到青睐,企业开开始对 Hado ...
- 重磅发布 | 全球首个云原生应用标准定义与架构模型 OAM 正式开源
作者: OAM 项目负责人 导读:2019 年 10 月 17 日,阿里巴巴合伙人.阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon 上海重磅宣布,阿里云与微软联合推出开放应用模型 Op ...
- 开放应用模型(OAM):全球首个云原生应用标准定义与架构模型
Kubernetes 项目作为容器编排领域的事实标准, 成功推动了诸如阿里云 Kubernetes (ACK)等云原生服务的迅速增长.但同时我们也关注到,Kubernetes 的核心 API 资源比如 ...
- QQ音乐PB级ClickHouse实时数据平台架构演进之路
导语 | OLAP(On-Line Analytical Processing),是数据仓库系统的主要应用形式,帮助分析人员多角度分析数据,挖掘数据价值.本文基于QQ音乐海量大数据实时分析场景,通过Q ...
- 扩展 GRTN:云原生趋势下的 RTC 架构演进
在 2021 LiveVideoStackCon 音视频技术大会上海站,聚焦 "轻端重云和边缘架构新模式" 专场,阿里云视频云的 RTC 传输专家杨成立(忘篱)带来 "基 ...
- 三十、sersync高级同步工具实时数据同步架构
一.项目介绍 Sersync项目利用inotity与rsync技术实现对服务器数据实时同步的解决方案,其中inotity用于监控sersync所在服务器上的文件变化. Sersync项目的优点: 1. ...
- 云原生系列6 基于springcloud架构风格的本地debug实现
debug是程序员在日常开发中最常使用的操作, 那么,你是如何快速在微服务架构风格下快速debug后端服务呢? 开发现状 开发的理想状态 本地调测的使用步骤 登录智能网关 如果集成开发环境是在本地局域 ...
- 终极指南:企业级云原生 PaaS 平台日志分析架构全面解析
早些时候 Erda Show 针对微服务监控.日志等内容做了专场分享,很多同学听完后意犹未尽,想了解更多关于日志分析的内容.Erda 团队做日志分析也有一段时间了,所以这次打算和大家详细分享一下我们在 ...
- 使用 Iceberg on Kubernetes 打造新一代云原生数据湖
背景 大数据发展至今,按照 Google 2003年发布的<The Google File System>第一篇论文算起,已走过17个年头.可惜的是 Google 当时并没有开源其技术,& ...
- DTCC 2020 | 阿里云李飞飞:云原生分布式数据库与数据仓库系统点亮数据上云之路
简介: 数据库将面临怎样的变革?云原生数据库与数据仓库有哪些独特优势?在日前的 DTCC 2020大会上,阿里巴巴集团副总裁.阿里云数据库产品事业部总裁.ACM杰出科学家李飞飞就<云原生分布式数 ...
随机推荐
- 2022最新的Dubbo-Admin各个版本打包方案
目录 前景提要 环境整合 构建工具(参考工具部署方式) 官网查阅 打包 一.编译器打包 二.命令行打包 前景提要 很简单的一个操作很多人还在那整各种收费,明明是个免费开源的,干嘛让他们挣二手钱. 环境 ...
- 为什么 AI 时代更应该 Learn in Public
TL;DR Learn in Public 强调将学习到的知识 分享到公共空间,相较于纯输入式的学习有诸多好处.AI 工具极大降低了信息检索.整理.概括的门槛,使得输入信息更容易,但对我们真正掌握知识 ...
- AIRIOT物联网低代码平台如何配置OPC UA驱动?
AIRIOT物联网低代码平台支持驱动类型丰富,驱动包括但不限于通用驱动信息,无线驱动信息,行业驱动信息及各个厂商驱动.驱动稳定性强,经受住各个大型项目考验,持续稳定运行. AIRIOT物联网低代码平台 ...
- kubernetes之python调用
安装 sudo pip3 install kubernetes 认证 首先引入SDK支持库.然后将 ~/.kube 的config文件的内容复制到本地目录,保存为文件kubeconfig.yaml,然 ...
- Python:当函数做为参数时的技巧
我们之前在<Python技法3: 匿名函数.回调函数.高阶函数>中提到,可以通过lambda表达式来为函数设置默认参数,从而修改函数的参数个数: import math def dista ...
- IceRPC之调度管道->快乐的RPC
作者引言 很高兴啊,我们来到了IceRPC之调度管道->快乐的RPC, 基础引导,有点小压力,打好基础,才能让自已不在迷茫,快乐的畅游世界. 调度管道 Dispatch pipeline 了解如 ...
- Android 12(S) MultiMedia Learning(二)MediaPlayer Java
Android提供了MediaPlayer这样一个简单易用的音视频java播放接口,通过几个接口调用即可实现音视频播放. 源码位置 http://aospxref.com/android-12.0.0 ...
- MVCC(多版本并发控制)详解
在 MySQL InnoDB存储引擎下,RC.RR 基于 MVCC 进行并发事务控制, MVCC 是基于"数据版本"对并发事务进行访问 用一个例子来解释一下,下面是一张事务执行流程 ...
- linux上使用webdav
webdav 干什么用的? 对于我来说,主要是用来同步文件的,n年以前,那时候还啥都不懂,要分享一个文件都是用qq/或者微信发,那时候就一个手机一个电脑,而且文件大部分是分享给认识的人. qq分享完全 ...
- 一个问题:六位八段数码管(Verilog)
[基本信息] 需求:verilog程序,显示任意六位字符或数值,包含点号,且能够按需点亮位数.(学习篇) 芯片型号:cyclone Ⅳ EP4CE10F17C8 数码管属性:六位.八段 [最终成果图] ...